YES 4.652 H-Termination proof of /home/matraf/haskell/eval_FullyBlown_Fast/empty.hs
H-Termination of the given Haskell-Program with start terms could successfully be proven:



HASKELL
  ↳ CR

mainModule Main
  ((minimum :: (Ord a, Ord b) => [Either b a ->  Either b a) :: (Ord b, Ord a) => [Either b a ->  Either b a)

module Main where
  import qualified Prelude



Case Reductions:
The following Case expression
case compare x y of
 EQ → o
 LT → LT
 GT → GT

is transformed to
primCompAux0 o EQ = o
primCompAux0 o LT = LT
primCompAux0 o GT = GT



↳ HASKELL
  ↳ CR
HASKELL
      ↳ IFR

mainModule Main
  ((minimum :: (Ord b, Ord a) => [Either a b ->  Either a b) :: (Ord b, Ord a) => [Either a b ->  Either a b)

module Main where
  import qualified Prelude



If Reductions:
The following If expression
if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero

is transformed to
primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y))
primDivNatS0 x y False = Zero

The following If expression
if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x

is transformed to
primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y)
primModNatS0 x y False = Succ x



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
HASKELL
          ↳ BR

mainModule Main
  ((minimum :: (Ord a, Ord b) => [Either a b ->  Either a b) :: (Ord a, Ord b) => [Either a b ->  Either a b)

module Main where
  import qualified Prelude



Replaced joker patterns by fresh variables and removed binding patterns.

↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
HASKELL
              ↳ COR

mainModule Main
  ((minimum :: (Ord b, Ord a) => [Either a b ->  Either a b) :: (Ord b, Ord a) => [Either a b ->  Either a b)

module Main where
  import qualified Prelude



Cond Reductions:
The following Function with conditions
min x y
 | x <= y
 = x
 | otherwise
 = y

is transformed to
min x y = min2 x y

min0 x y True = y

min1 x y True = x
min1 x y False = min0 x y otherwise

min2 x y = min1 x y (x <= y)

The following Function with conditions
compare x y
 | x == y
 = EQ
 | x <= y
 = LT
 | otherwise
 = GT

is transformed to
compare x y = compare3 x y

compare1 x y True = LT
compare1 x y False = compare0 x y otherwise

compare0 x y True = GT

compare2 x y True = EQ
compare2 x y False = compare1 x y (x <= y)

compare3 x y = compare2 x y (x == y)

The following Function with conditions
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd' x zx = gcd'2 x zx
gcd' x y = gcd'0 x y

gcd'0 x y = gcd' y (x `rem` y)

gcd'1 True x zx = x
gcd'1 zy zz vuu = gcd'0 zz vuu

gcd'2 x zx = gcd'1 (zx == 0) x zx
gcd'2 vuv vuw = gcd'0 vuv vuw

The following Function with conditions
gcd 0 0 = error []
gcd x y = 
gcd' (abs x) (abs y)
where 
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd vux vuy = gcd3 vux vuy
gcd x y = gcd0 x y

gcd0 x y = 
gcd' (abs x) (abs y)
where 
gcd' x zx = gcd'2 x zx
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x zx = x
gcd'1 zy zz vuu = gcd'0 zz vuu
gcd'2 x zx = gcd'1 (zx == 0) x zx
gcd'2 vuv vuw = gcd'0 vuv vuw

gcd1 True vux vuy = error []
gcd1 vuz vvu vvv = gcd0 vvu vvv

gcd2 True vux vuy = gcd1 (vuy == 0) vux vuy
gcd2 vvw vvx vvy = gcd0 vvx vvy

gcd3 vux vuy = gcd2 (vux == 0) vux vuy
gcd3 vvz vwu = gcd0 vvz vwu

The following Function with conditions
absReal x
 | x >= 0
 = x
 | otherwise
 = `negate` x

is transformed to
absReal x = absReal2 x

absReal0 x True = `negate` x

absReal1 x True = x
absReal1 x False = absReal0 x otherwise

absReal2 x = absReal1 x (x >= 0)

The following Function with conditions
undefined 
 | False
 = undefined

is transformed to
undefined  = undefined1

undefined0 True = undefined

undefined1  = undefined0 False

The following Function with conditions
reduce x y
 | y == 0
 = error []
 | otherwise
 = x `quot` d :% (y `quot` d)
where 
d  = gcd x y

is transformed to
reduce x y = reduce2 x y

reduce2 x y = 
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
HASKELL
                  ↳ LetRed

mainModule Main
  ((minimum :: (Ord b, Ord a) => [Either a b ->  Either a b) :: (Ord a, Ord b) => [Either a b ->  Either a b)

module Main where
  import qualified Prelude



Let/Where Reductions:
The bindings of the following Let/Where expression
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise

are unpacked to the following functions on top level
reduce2D vwv vww = gcd vwv vww

reduce2Reduce0 vwv vww x y True = x `quot` reduce2D vwv vww :% (y `quot` reduce2D vwv vww)

reduce2Reduce1 vwv vww x y True = error []
reduce2Reduce1 vwv vww x y False = reduce2Reduce0 vwv vww x y otherwise

The bindings of the following Let/Where expression
gcd' (abs x) (abs y)
where 
gcd' x zx = gcd'2 x zx
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x zx = x
gcd'1 zy zz vuu = gcd'0 zz vuu
gcd'2 x zx = gcd'1 (zx == 0) x zx
gcd'2 vuv vuw = gcd'0 vuv vuw

are unpacked to the following functions on top level
gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y)

gcd0Gcd' x zx = gcd0Gcd'2 x zx
gcd0Gcd' x y = gcd0Gcd'0 x y

gcd0Gcd'2 x zx = gcd0Gcd'1 (zx == 0) x zx
gcd0Gcd'2 vuv vuw = gcd0Gcd'0 vuv vuw

gcd0Gcd'1 True x zx = x
gcd0Gcd'1 zy zz vuu = gcd0Gcd'0 zz vuu



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
HASKELL
                      ↳ NumRed

mainModule Main
  ((minimum :: (Ord b, Ord a) => [Either b a ->  Either b a) :: (Ord b, Ord a) => [Either b a ->  Either b a)

module Main where
  import qualified Prelude



Num Reduction: All numbers are transformed to thier corresponding representation with Pos, Neg, Succ and Zero.

↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
HASKELL
                          ↳ Narrow

mainModule Main
  (minimum :: (Ord b, Ord a) => [Either a b ->  Either a b)

module Main where
  import qualified Prelude



Haskell To QDPs


↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
QDP
                                ↳ QDPSizeChangeProof
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primEqNat(Succ(vwx3600), Succ(vwx3700)) → new_primEqNat(vwx3600, vwx3700)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
QDP
                                ↳ QDPSizeChangeProof
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primPlusNat(Succ(vwx6600), Succ(vwx31001000)) → new_primPlusNat(vwx6600, vwx31001000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
                              ↳ QDP
QDP
                                ↳ QDPSizeChangeProof
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primMulNat(Succ(vwx300100), Succ(vwx3100100)) → new_primMulNat(vwx300100, Succ(vwx3100100))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
QDP
                                ↳ QDPSizeChangeProof
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_esEs1(@2(vwx360, vwx361), @2(vwx370, vwx371), app(app(app(ty_@3, ge), gf), gg), gd) → new_esEs0(vwx360, vwx370, ge, gf, gg)
new_esEs0(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), dg, app(app(ty_@2, ed), ee), ce) → new_esEs1(vwx361, vwx371, ed, ee)
new_esEs3(Right(vwx360), Right(vwx370), bdb, app(ty_[], bdc)) → new_esEs(vwx360, vwx370, bdc)
new_esEs2(Just(vwx360), Just(vwx370), app(ty_[], bag)) → new_esEs(vwx360, vwx370, bag)
new_esEs0(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), dg, cd, app(app(ty_Either, ga), gb)) → new_esEs3(vwx362, vwx372, ga, gb)
new_esEs0(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), dg, cd, app(ty_Maybe, fh)) → new_esEs2(vwx362, vwx372, fh)
new_esEs0(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), app(ty_Maybe, dd), cd, ce) → new_esEs2(vwx360, vwx370, dd)
new_esEs3(Right(vwx360), Right(vwx370), bdb, app(app(ty_Either, beb), bec)) → new_esEs3(vwx360, vwx370, beb, bec)
new_esEs3(Left(vwx360), Left(vwx370), app(ty_[], bbh), bca) → new_esEs(vwx360, vwx370, bbh)
new_esEs0(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), dg, cd, app(ty_[], fa)) → new_esEs(vwx362, vwx372, fa)
new_esEs0(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), dg, app(app(app(ty_@3, ea), eb), ec), ce) → new_esEs0(vwx361, vwx371, ea, eb, ec)
new_esEs2(Just(vwx360), Just(vwx370), app(ty_Maybe, bbe)) → new_esEs2(vwx360, vwx370, bbe)
new_esEs3(Right(vwx360), Right(vwx370), bdb, app(app(app(ty_@3, bdd), bde), bdf)) → new_esEs0(vwx360, vwx370, bdd, bde, bdf)
new_esEs3(Left(vwx360), Left(vwx370), app(app(ty_Either, bch), bda), bca) → new_esEs3(vwx360, vwx370, bch, bda)
new_esEs2(Just(vwx360), Just(vwx370), app(app(ty_@2, bbc), bbd)) → new_esEs1(vwx360, vwx370, bbc, bbd)
new_esEs1(@2(vwx360, vwx361), @2(vwx370, vwx371), he, app(ty_[], hf)) → new_esEs(vwx361, vwx371, hf)
new_esEs(:(vwx360, vwx361), :(vwx370, vwx371), app(ty_Maybe, bg)) → new_esEs2(vwx360, vwx370, bg)
new_esEs1(@2(vwx360, vwx361), @2(vwx370, vwx371), app(ty_Maybe, hb), gd) → new_esEs2(vwx360, vwx370, hb)
new_esEs1(@2(vwx360, vwx361), @2(vwx370, vwx371), app(ty_[], gc), gd) → new_esEs(vwx360, vwx370, gc)
new_esEs3(Left(vwx360), Left(vwx370), app(app(app(ty_@3, bcb), bcc), bcd), bca) → new_esEs0(vwx360, vwx370, bcb, bcc, bcd)
new_esEs2(Just(vwx360), Just(vwx370), app(app(app(ty_@3, bah), bba), bbb)) → new_esEs0(vwx360, vwx370, bah, bba, bbb)
new_esEs1(@2(vwx360, vwx361), @2(vwx370, vwx371), he, app(app(ty_Either, bae), baf)) → new_esEs3(vwx361, vwx371, bae, baf)
new_esEs1(@2(vwx360, vwx361), @2(vwx370, vwx371), he, app(app(ty_@2, bab), bac)) → new_esEs1(vwx361, vwx371, bab, bac)
new_esEs(:(vwx360, vwx361), :(vwx370, vwx371), app(app(ty_@2, be), bf)) → new_esEs1(vwx360, vwx370, be, bf)
new_esEs0(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), dg, cd, app(app(ty_@2, ff), fg)) → new_esEs1(vwx362, vwx372, ff, fg)
new_esEs3(Left(vwx360), Left(vwx370), app(ty_Maybe, bcg), bca) → new_esEs2(vwx360, vwx370, bcg)
new_esEs0(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), app(ty_[], cc), cd, ce) → new_esEs(vwx360, vwx370, cc)
new_esEs(:(vwx360, vwx361), :(vwx370, vwx371), cb) → new_esEs(vwx361, vwx371, cb)
new_esEs0(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), dg, cd, app(app(app(ty_@3, fb), fc), fd)) → new_esEs0(vwx362, vwx372, fb, fc, fd)
new_esEs(:(vwx360, vwx361), :(vwx370, vwx371), app(app(ty_Either, bh), ca)) → new_esEs3(vwx360, vwx370, bh, ca)
new_esEs0(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), dg, app(ty_[], dh), ce) → new_esEs(vwx361, vwx371, dh)
new_esEs3(Left(vwx360), Left(vwx370), app(app(ty_@2, bce), bcf), bca) → new_esEs1(vwx360, vwx370, bce, bcf)
new_esEs0(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), app(app(ty_Either, de), df), cd, ce) → new_esEs3(vwx360, vwx370, de, df)
new_esEs1(@2(vwx360, vwx361), @2(vwx370, vwx371), app(app(ty_@2, gh), ha), gd) → new_esEs1(vwx360, vwx370, gh, ha)
new_esEs(:(vwx360, vwx361), :(vwx370, vwx371), app(app(app(ty_@3, bb), bc), bd)) → new_esEs0(vwx360, vwx370, bb, bc, bd)
new_esEs0(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), app(app(ty_@2, db), dc), cd, ce) → new_esEs1(vwx360, vwx370, db, dc)
new_esEs1(@2(vwx360, vwx361), @2(vwx370, vwx371), app(app(ty_Either, hc), hd), gd) → new_esEs3(vwx360, vwx370, hc, hd)
new_esEs3(Right(vwx360), Right(vwx370), bdb, app(ty_Maybe, bea)) → new_esEs2(vwx360, vwx370, bea)
new_esEs1(@2(vwx360, vwx361), @2(vwx370, vwx371), he, app(ty_Maybe, bad)) → new_esEs2(vwx361, vwx371, bad)
new_esEs3(Right(vwx360), Right(vwx370), bdb, app(app(ty_@2, bdg), bdh)) → new_esEs1(vwx360, vwx370, bdg, bdh)
new_esEs2(Just(vwx360), Just(vwx370), app(app(ty_Either, bbf), bbg)) → new_esEs3(vwx360, vwx370, bbf, bbg)
new_esEs0(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), dg, app(ty_Maybe, ef), ce) → new_esEs2(vwx361, vwx371, ef)
new_esEs0(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), dg, app(app(ty_Either, eg), eh), ce) → new_esEs3(vwx361, vwx371, eg, eh)
new_esEs(:(vwx360, vwx361), :(vwx370, vwx371), app(ty_[], ba)) → new_esEs(vwx360, vwx370, ba)
new_esEs0(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), app(app(app(ty_@3, cf), cg), da), cd, ce) → new_esEs0(vwx360, vwx370, cf, cg, da)
new_esEs1(@2(vwx360, vwx361), @2(vwx370, vwx371), he, app(app(app(ty_@3, hg), hh), baa)) → new_esEs0(vwx361, vwx371, hg, hh, baa)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
QDP
                                ↳ QDPSizeChangeProof
                              ↳ QDP
                              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primCmpNat(Succ(vwx30000), Succ(vwx310000)) → new_primCmpNat(vwx30000, vwx310000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
QDP
                                ↳ QDPSizeChangeProof
                              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_ltEs0(Just(vwx3000), Just(vwx31000), app(app(app(ty_@3, ea), eb), ec)) → new_ltEs1(vwx3000, vwx31000, ea, eb, ec)
new_ltEs(@2(vwx3000, vwx3001), @2(vwx31000, vwx31001), app(ty_Maybe, bd), bc) → new_compare20(vwx3000, vwx31000, new_esEs5(vwx3000, vwx31000, bd), bd)
new_lt(vwx3000, vwx31000, ba, bb) → new_compare2(vwx3000, vwx31000, new_esEs4(vwx3000, vwx31000, ba, bb), ba, bb)
new_ltEs1(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), gc, app(app(app(ty_@3, gg), gh), ha), fb) → new_lt1(vwx3001, vwx31001, gg, gh, ha)
new_ltEs2(Left(vwx3000), Left(vwx31000), app(ty_[], bbg), bah) → new_ltEs3(vwx3000, vwx31000, bbg)
new_compare2(vwx3000, vwx31000, False, ba, bb) → new_ltEs(vwx3000, vwx31000, ba, bb)
new_ltEs(@2(vwx3000, vwx3001), @2(vwx31000, vwx31001), app(app(ty_Either, bh), ca), bc) → new_compare22(vwx3000, vwx31000, new_esEs7(vwx3000, vwx31000, bh, ca), bh, ca)
new_ltEs1(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), gc, fa, app(ty_[], bae)) → new_ltEs3(vwx3002, vwx31002, bae)
new_ltEs1(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), gc, app(app(ty_@2, gd), ge), fb) → new_lt(vwx3001, vwx31001, gd, ge)
new_ltEs2(Left(vwx3000), Left(vwx31000), app(app(ty_Either, bbe), bbf), bah) → new_ltEs2(vwx3000, vwx31000, bbe, bbf)
new_ltEs(@2(vwx3000, vwx3001), @2(vwx31000, vwx31001), app(app(app(ty_@3, be), bf), bg), bc) → new_compare21(vwx3000, vwx31000, new_esEs6(vwx3000, vwx31000, be, bf, bg), be, bf, bg)
new_compare21(vwx3000, vwx31000, False, be, bf, bg) → new_ltEs1(vwx3000, vwx31000, be, bf, bg)
new_ltEs1(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), app(app(ty_@2, eg), eh), fa, fb) → new_lt(vwx3000, vwx31000, eg, eh)
new_ltEs2(Right(vwx3000), Right(vwx31000), bbh, app(ty_[], bda)) → new_ltEs3(vwx3000, vwx31000, bda)
new_ltEs1(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), gc, app(ty_Maybe, gf), fb) → new_lt0(vwx3001, vwx31001, gf)
new_ltEs0(Just(vwx3000), Just(vwx31000), app(ty_Maybe, dh)) → new_ltEs0(vwx3000, vwx31000, dh)
new_primCompAux(vwx3000, vwx31000, vwx48, app(app(ty_@2, bdc), bdd)) → new_compare0(vwx3000, vwx31000, bdc, bdd)
new_ltEs1(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), app(ty_[], gb), fa, fb) → new_lt3(vwx3000, vwx31000, gb)
new_ltEs(@2(vwx3000, vwx3001), @2(vwx31000, vwx31001), cc, app(app(ty_Either, dc), dd)) → new_ltEs2(vwx3001, vwx31001, dc, dd)
new_ltEs(@2(vwx3000, vwx3001), @2(vwx31000, vwx31001), cc, app(ty_[], de)) → new_ltEs3(vwx3001, vwx31001, de)
new_ltEs3(:(vwx3000, vwx3001), :(vwx31000, vwx31001), bdb) → new_compare(vwx3001, vwx31001, bdb)
new_primCompAux(vwx3000, vwx31000, vwx48, app(ty_[], bec)) → new_compare(vwx3000, vwx31000, bec)
new_ltEs(@2(vwx3000, vwx3001), @2(vwx31000, vwx31001), app(ty_[], cb), bc) → new_compare(vwx3000, vwx31000, cb)
new_ltEs2(Left(vwx3000), Left(vwx31000), app(app(app(ty_@3, bbb), bbc), bbd), bah) → new_ltEs1(vwx3000, vwx31000, bbb, bbc, bbd)
new_lt2(vwx3000, vwx31000, bh, ca) → new_compare22(vwx3000, vwx31000, new_esEs7(vwx3000, vwx31000, bh, ca), bh, ca)
new_ltEs2(Left(vwx3000), Left(vwx31000), app(app(ty_@2, baf), bag), bah) → new_ltEs(vwx3000, vwx31000, baf, bag)
new_ltEs2(Right(vwx3000), Right(vwx31000), bbh, app(ty_Maybe, bcc)) → new_ltEs0(vwx3000, vwx31000, bcc)
new_ltEs1(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), gc, fa, app(app(ty_@2, he), hf)) → new_ltEs(vwx3002, vwx31002, he, hf)
new_compare(:(vwx3000, vwx3001), :(vwx31000, vwx31001), bdb) → new_primCompAux(vwx3000, vwx31000, new_compare5(vwx3001, vwx31001, bdb), bdb)
new_ltEs(@2(vwx3000, vwx3001), @2(vwx31000, vwx31001), cc, app(app(app(ty_@3, cg), da), db)) → new_ltEs1(vwx3001, vwx31001, cg, da, db)
new_compare1(vwx3000, vwx31000, bd) → new_compare20(vwx3000, vwx31000, new_esEs5(vwx3000, vwx31000, bd), bd)
new_ltEs2(Right(vwx3000), Right(vwx31000), bbh, app(app(app(ty_@3, bcd), bce), bcf)) → new_ltEs1(vwx3000, vwx31000, bcd, bce, bcf)
new_ltEs3(:(vwx3000, vwx3001), :(vwx31000, vwx31001), bdb) → new_primCompAux(vwx3000, vwx31000, new_compare5(vwx3001, vwx31001, bdb), bdb)
new_ltEs0(Just(vwx3000), Just(vwx31000), app(ty_[], ef)) → new_ltEs3(vwx3000, vwx31000, ef)
new_ltEs1(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), gc, app(app(ty_Either, hb), hc), fb) → new_lt2(vwx3001, vwx31001, hb, hc)
new_primCompAux(vwx3000, vwx31000, vwx48, app(app(ty_Either, bea), beb)) → new_compare4(vwx3000, vwx31000, bea, beb)
new_ltEs2(Right(vwx3000), Right(vwx31000), bbh, app(app(ty_Either, bcg), bch)) → new_ltEs2(vwx3000, vwx31000, bcg, bch)
new_ltEs1(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), app(app(ty_Either, fh), ga), fa, fb) → new_lt2(vwx3000, vwx31000, fh, ga)
new_compare3(vwx3000, vwx31000, be, bf, bg) → new_compare21(vwx3000, vwx31000, new_esEs6(vwx3000, vwx31000, be, bf, bg), be, bf, bg)
new_compare4(vwx3000, vwx31000, bh, ca) → new_compare22(vwx3000, vwx31000, new_esEs7(vwx3000, vwx31000, bh, ca), bh, ca)
new_ltEs2(Left(vwx3000), Left(vwx31000), app(ty_Maybe, bba), bah) → new_ltEs0(vwx3000, vwx31000, bba)
new_ltEs1(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), gc, app(ty_[], hd), fb) → new_lt3(vwx3001, vwx31001, hd)
new_ltEs1(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), app(ty_Maybe, fc), fa, fb) → new_lt0(vwx3000, vwx31000, fc)
new_compare(:(vwx3000, vwx3001), :(vwx31000, vwx31001), bdb) → new_compare(vwx3001, vwx31001, bdb)
new_primCompAux(vwx3000, vwx31000, vwx48, app(ty_Maybe, bde)) → new_compare1(vwx3000, vwx31000, bde)
new_ltEs0(Just(vwx3000), Just(vwx31000), app(app(ty_@2, df), dg)) → new_ltEs(vwx3000, vwx31000, df, dg)
new_lt3(vwx3000, vwx31000, cb) → new_compare(vwx3000, vwx31000, cb)
new_primCompAux(vwx3000, vwx31000, vwx48, app(app(app(ty_@3, bdf), bdg), bdh)) → new_compare3(vwx3000, vwx31000, bdf, bdg, bdh)
new_ltEs(@2(vwx3000, vwx3001), @2(vwx31000, vwx31001), cc, app(app(ty_@2, cd), ce)) → new_ltEs(vwx3001, vwx31001, cd, ce)
new_ltEs1(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), gc, fa, app(app(app(ty_@3, hh), baa), bab)) → new_ltEs1(vwx3002, vwx31002, hh, baa, bab)
new_ltEs2(Right(vwx3000), Right(vwx31000), bbh, app(app(ty_@2, bca), bcb)) → new_ltEs(vwx3000, vwx31000, bca, bcb)
new_ltEs0(Just(vwx3000), Just(vwx31000), app(app(ty_Either, ed), ee)) → new_ltEs2(vwx3000, vwx31000, ed, ee)
new_ltEs(@2(vwx3000, vwx3001), @2(vwx31000, vwx31001), cc, app(ty_Maybe, cf)) → new_ltEs0(vwx3001, vwx31001, cf)
new_ltEs1(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), gc, fa, app(ty_Maybe, hg)) → new_ltEs0(vwx3002, vwx31002, hg)
new_lt1(vwx3000, vwx31000, be, bf, bg) → new_compare21(vwx3000, vwx31000, new_esEs6(vwx3000, vwx31000, be, bf, bg), be, bf, bg)
new_compare0(vwx3000, vwx31000, ba, bb) → new_compare2(vwx3000, vwx31000, new_esEs4(vwx3000, vwx31000, ba, bb), ba, bb)
new_ltEs(@2(vwx3000, vwx3001), @2(vwx31000, vwx31001), app(app(ty_@2, ba), bb), bc) → new_compare2(vwx3000, vwx31000, new_esEs4(vwx3000, vwx31000, ba, bb), ba, bb)
new_compare22(vwx3000, vwx31000, False, bh, ca) → new_ltEs2(vwx3000, vwx31000, bh, ca)
new_compare20(vwx3000, vwx31000, False, bd) → new_ltEs0(vwx3000, vwx31000, bd)
new_ltEs1(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), gc, fa, app(app(ty_Either, bac), bad)) → new_ltEs2(vwx3002, vwx31002, bac, bad)
new_ltEs1(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), app(app(app(ty_@3, fd), ff), fg), fa, fb) → new_lt1(vwx3000, vwx31000, fd, ff, fg)
new_lt0(vwx3000, vwx31000, bd) → new_compare20(vwx3000, vwx31000, new_esEs5(vwx3000, vwx31000, bd), bd)

The TRS R consists of the following rules:

new_esEs26(vwx361, vwx371, ty_Char) → new_esEs14(vwx361, vwx371)
new_esEs23(vwx361, vwx371, app(app(ty_Either, cae), caf)) → new_esEs7(vwx361, vwx371, cae, caf)
new_esEs7(Left(vwx360), Left(vwx370), app(app(ty_Either, cdd), cde), bfh) → new_esEs7(vwx360, vwx370, cdd, cde)
new_ltEs10(Left(vwx3000), Left(vwx31000), app(app(app(ty_@3, bbb), bbc), bbd), bah) → new_ltEs7(vwx3000, vwx31000, bbb, bbc, bbd)
new_compare16(vwx3000, vwx31000, app(ty_Maybe, bde)) → new_compare10(vwx3000, vwx31000, bde)
new_ltEs10(Left(vwx3000), Left(vwx31000), ty_Integer, bah) → new_ltEs13(vwx3000, vwx31000)
new_esEs24(vwx362, vwx372, app(ty_Ratio, cah)) → new_esEs15(vwx362, vwx372, cah)
new_ltEs15(EQ, LT) → False
new_ltEs19(vwx3001, vwx31001, app(ty_Ratio, dah)) → new_ltEs16(vwx3001, vwx31001, dah)
new_esEs26(vwx361, vwx371, app(ty_Ratio, cgc)) → new_esEs15(vwx361, vwx371, cgc)
new_lt20(vwx3000, vwx31000, app(ty_[], cb)) → new_lt18(vwx3000, vwx31000, cb)
new_lt15(vwx3000, vwx31000, be, bf, bg) → new_esEs8(new_compare15(vwx3000, vwx31000, be, bf, bg))
new_ltEs10(Left(vwx3000), Right(vwx31000), bbh, bah) → True
new_compare29(vwx3000, vwx31000, False) → new_compare112(vwx3000, vwx31000, new_ltEs14(vwx3000, vwx31000))
new_esEs23(vwx361, vwx371, app(app(ty_@2, cab), cac)) → new_esEs4(vwx361, vwx371, cab, cac)
new_ltEs9(Just(vwx3000), Just(vwx31000), app(app(app(ty_@3, ea), eb), ec)) → new_ltEs7(vwx3000, vwx31000, ea, eb, ec)
new_ltEs9(Nothing, Just(vwx31000), daf) → True
new_ltEs16(vwx300, vwx3100, dcc) → new_not(new_compare11(vwx300, vwx3100, dcc))
new_esEs11(vwx36, vwx37, ty_Ordering) → new_esEs13(vwx36, vwx37)
new_compare14(vwx3000, vwx31000, True, be, bf, bg) → LT
new_ltEs19(vwx3001, vwx31001, ty_Double) → new_ltEs11(vwx3001, vwx31001)
new_ltEs15(EQ, EQ) → True
new_ltEs19(vwx3001, vwx31001, ty_Float) → new_ltEs4(vwx3001, vwx31001)
new_esEs23(vwx361, vwx371, ty_Float) → new_esEs16(vwx361, vwx371)
new_ltEs10(Left(vwx3000), Left(vwx31000), ty_Ordering, bah) → new_ltEs15(vwx3000, vwx31000)
new_esEs27(vwx360, vwx370, ty_Bool) → new_esEs17(vwx360, vwx370)
new_compare19(vwx3000, vwx31000) → new_compare28(vwx3000, vwx31000, new_esEs13(vwx3000, vwx31000))
new_primMulNat0(Zero, Zero) → Zero
new_lt11(vwx3001, vwx31001, app(app(ty_@2, gd), ge)) → new_lt7(vwx3001, vwx31001, gd, ge)
new_compare16(vwx3000, vwx31000, ty_Ordering) → new_compare19(vwx3000, vwx31000)
new_compare29(vwx3000, vwx31000, True) → EQ
new_compare15(vwx3000, vwx31000, be, bf, bg) → new_compare23(vwx3000, vwx31000, new_esEs6(vwx3000, vwx31000, be, bf, bg), be, bf, bg)
new_esEs11(vwx36, vwx37, ty_Float) → new_esEs16(vwx36, vwx37)
new_esEs25(vwx360, vwx370, app(app(ty_@2, cfe), cff)) → new_esEs4(vwx360, vwx370, cfe, cff)
new_compare25(vwx3000, vwx31000, True, bd) → EQ
new_ltEs14(False, True) → True
new_esEs25(vwx360, vwx370, ty_Bool) → new_esEs17(vwx360, vwx370)
new_esEs13(EQ, EQ) → True
new_not(GT) → False
new_ltEs9(Just(vwx3000), Just(vwx31000), ty_Float) → new_ltEs4(vwx3000, vwx31000)
new_ltEs15(GT, LT) → False
new_esEs17(True, True) → True
new_esEs12([], [], beg) → True
new_ltEs10(Left(vwx3000), Left(vwx31000), ty_Double, bah) → new_ltEs11(vwx3000, vwx31000)
new_ltEs11(vwx300, vwx3100) → new_not(new_compare8(vwx300, vwx3100))
new_ltEs10(Right(vwx3000), Right(vwx31000), bbh, ty_Bool) → new_ltEs14(vwx3000, vwx31000)
new_ltEs10(Left(vwx3000), Left(vwx31000), app(ty_Ratio, bga), bah) → new_ltEs16(vwx3000, vwx31000, bga)
new_ltEs18(vwx3002, vwx31002, ty_Char) → new_ltEs8(vwx3002, vwx31002)
new_esEs5(Just(vwx360), Just(vwx370), app(ty_Maybe, dbh)) → new_esEs5(vwx360, vwx370, dbh)
new_esEs7(Left(vwx360), Left(vwx370), ty_Char, bfh) → new_esEs14(vwx360, vwx370)
new_esEs22(vwx360, vwx370, ty_Integer) → new_esEs9(vwx360, vwx370)
new_ltEs9(Just(vwx3000), Just(vwx31000), ty_Ordering) → new_ltEs15(vwx3000, vwx31000)
new_lt20(vwx3000, vwx31000, ty_Float) → new_lt17(vwx3000, vwx31000)
new_esEs22(vwx360, vwx370, app(app(ty_Either, bhc), bhd)) → new_esEs7(vwx360, vwx370, bhc, bhd)
new_ltEs18(vwx3002, vwx31002, ty_Float) → new_ltEs4(vwx3002, vwx31002)
new_compare16(vwx3000, vwx31000, app(app(ty_Either, bea), beb)) → new_compare18(vwx3000, vwx31000, bea, beb)
new_lt20(vwx3000, vwx31000, ty_Bool) → new_lt14(vwx3000, vwx31000)
new_esEs24(vwx362, vwx372, app(ty_[], cag)) → new_esEs12(vwx362, vwx372, cag)
new_ltEs9(Just(vwx3000), Just(vwx31000), ty_Double) → new_ltEs11(vwx3000, vwx31000)
new_ltEs9(Just(vwx3000), Just(vwx31000), ty_Bool) → new_ltEs14(vwx3000, vwx31000)
new_lt5(vwx3000, vwx31000, bd) → new_esEs8(new_compare10(vwx3000, vwx31000, bd))
new_ltEs9(Just(vwx3000), Just(vwx31000), ty_Integer) → new_ltEs13(vwx3000, vwx31000)
new_lt16(vwx3000, vwx31000, bh, ca) → new_esEs8(new_compare18(vwx3000, vwx31000, bh, ca))
new_compare114(vwx3000, vwx31000, False) → GT
new_ltEs10(Left(vwx3000), Left(vwx31000), app(app(ty_@2, baf), bag), bah) → new_ltEs12(vwx3000, vwx31000, baf, bag)
new_esEs13(EQ, LT) → False
new_esEs13(LT, EQ) → False
new_ltEs19(vwx3001, vwx31001, ty_Ordering) → new_ltEs15(vwx3001, vwx31001)
new_ltEs18(vwx3002, vwx31002, app(app(app(ty_@3, hh), baa), bab)) → new_ltEs7(vwx3002, vwx31002, hh, baa, bab)
new_esEs27(vwx360, vwx370, ty_Int) → new_esEs18(vwx360, vwx370)
new_esEs7(Right(vwx360), Left(vwx370), bfg, bfh) → False
new_esEs7(Left(vwx360), Right(vwx370), bfg, bfh) → False
new_esEs12([], :(vwx370, vwx371), beg) → False
new_esEs12(:(vwx360, vwx361), [], beg) → False
new_ltEs10(Right(vwx3000), Right(vwx31000), bbh, ty_Float) → new_ltEs4(vwx3000, vwx31000)
new_esEs22(vwx360, vwx370, ty_Ordering) → new_esEs13(vwx360, vwx370)
new_ltEs15(EQ, GT) → True
new_esEs27(vwx360, vwx370, app(app(ty_Either, dad), dae)) → new_esEs7(vwx360, vwx370, dad, dae)
new_lt11(vwx3001, vwx31001, app(ty_Maybe, gf)) → new_lt5(vwx3001, vwx31001, gf)
new_esEs11(vwx36, vwx37, ty_Char) → new_esEs14(vwx36, vwx37)
new_lt20(vwx3000, vwx31000, ty_Double) → new_lt12(vwx3000, vwx31000)
new_compare8(Double(vwx3000, vwx3001), Double(vwx31000, vwx31001)) → new_compare7(new_sr(vwx3000, vwx31000), new_sr(vwx3001, vwx31001))
new_esEs7(Left(vwx360), Left(vwx370), ty_Double, bfh) → new_esEs19(vwx360, vwx370)
new_ltEs10(Left(vwx3000), Left(vwx31000), ty_Float, bah) → new_ltEs4(vwx3000, vwx31000)
new_esEs22(vwx360, vwx370, app(app(ty_@2, bgh), bha)) → new_esEs4(vwx360, vwx370, bgh, bha)
new_ltEs17(vwx300, vwx3100, bdb) → new_not(new_compare5(vwx300, vwx3100, bdb))
new_compare23(vwx3000, vwx31000, True, be, bf, bg) → EQ
new_ltEs10(Left(vwx3000), Left(vwx31000), app(app(ty_Either, bbe), bbf), bah) → new_ltEs10(vwx3000, vwx31000, bbe, bbf)
new_ltEs18(vwx3002, vwx31002, app(app(ty_Either, bac), bad)) → new_ltEs10(vwx3002, vwx31002, bac, bad)
new_esEs21(vwx361, vwx371, ty_Int) → new_esEs18(vwx361, vwx371)
new_esEs5(Just(vwx360), Just(vwx370), app(ty_[], dba)) → new_esEs12(vwx360, vwx370, dba)
new_ltEs9(Just(vwx3000), Just(vwx31000), app(app(ty_@2, df), dg)) → new_ltEs12(vwx3000, vwx31000, df, dg)
new_ltEs7(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), gc, fa, fb) → new_pePe(new_lt10(vwx3000, vwx31000, gc), vwx3000, vwx31000, new_pePe(new_lt11(vwx3001, vwx31001, fa), vwx3001, vwx31001, new_ltEs18(vwx3002, vwx31002, fb), fa), gc)
new_lt11(vwx3001, vwx31001, app(app(ty_Either, hb), hc)) → new_lt16(vwx3001, vwx31001, hb, hc)
new_esEs18(vwx36, vwx37) → new_primEqInt(vwx36, vwx37)
new_lt20(vwx3000, vwx31000, app(app(ty_@2, ba), bb)) → new_lt7(vwx3000, vwx31000, ba, bb)
new_ltEs10(Left(vwx3000), Left(vwx31000), ty_@0, bah) → new_ltEs6(vwx3000, vwx31000)
new_ltEs15(LT, LT) → True
new_primCmpNat0(Zero, Succ(vwx310000)) → LT
new_ltEs10(Left(vwx3000), Left(vwx31000), ty_Bool, bah) → new_ltEs14(vwx3000, vwx31000)
new_ltEs18(vwx3002, vwx31002, ty_@0) → new_ltEs6(vwx3002, vwx31002)
new_esEs27(vwx360, vwx370, ty_@0) → new_esEs10(vwx360, vwx370)
new_compare6(Float(vwx3000, vwx3001), Float(vwx31000, vwx31001)) → new_compare7(new_sr(vwx3000, vwx31000), new_sr(vwx3001, vwx31001))
new_esEs11(vwx36, vwx37, app(app(app(ty_@3, bfa), bfb), bfc)) → new_esEs6(vwx36, vwx37, bfa, bfb, bfc)
new_lt20(vwx3000, vwx31000, ty_Char) → new_lt19(vwx3000, vwx31000)
new_esEs25(vwx360, vwx370, ty_Char) → new_esEs14(vwx360, vwx370)
new_ltEs19(vwx3001, vwx31001, app(app(ty_Either, dc), dd)) → new_ltEs10(vwx3001, vwx31001, dc, dd)
new_esEs23(vwx361, vwx371, ty_Double) → new_esEs19(vwx361, vwx371)
new_esEs27(vwx360, vwx370, ty_Ordering) → new_esEs13(vwx360, vwx370)
new_esEs24(vwx362, vwx372, app(app(ty_Either, cbg), cbh)) → new_esEs7(vwx362, vwx372, cbg, cbh)
new_esEs7(Right(vwx360), Right(vwx370), bfg, ty_Float) → new_esEs16(vwx360, vwx370)
new_compare16(vwx3000, vwx31000, ty_Bool) → new_compare17(vwx3000, vwx31000)
new_esEs22(vwx360, vwx370, ty_Int) → new_esEs18(vwx360, vwx370)
new_primEqNat0(Zero, Zero) → True
new_lt14(vwx3000, vwx31000) → new_esEs8(new_compare17(vwx3000, vwx31000))
new_compare111(vwx3000, vwx31000, False, bh, ca) → GT
new_esEs5(Just(vwx360), Just(vwx370), app(app(ty_@2, dbf), dbg)) → new_esEs4(vwx360, vwx370, dbf, dbg)
new_compare25(vwx3000, vwx31000, False, bd) → new_compare110(vwx3000, vwx31000, new_ltEs9(vwx3000, vwx31000, bd), bd)
new_esEs13(GT, LT) → False
new_esEs13(LT, GT) → False
new_esEs23(vwx361, vwx371, ty_Integer) → new_esEs9(vwx361, vwx371)
new_esEs23(vwx361, vwx371, ty_Char) → new_esEs14(vwx361, vwx371)
new_esEs17(False, False) → True
new_esEs17(False, True) → False
new_esEs17(True, False) → False
new_esEs5(Just(vwx360), Just(vwx370), app(ty_Ratio, dbb)) → new_esEs15(vwx360, vwx370, dbb)
new_ltEs18(vwx3002, vwx31002, ty_Int) → new_ltEs5(vwx3002, vwx31002)
new_esEs7(Right(vwx360), Right(vwx370), bfg, app(app(app(ty_@3, cdh), cea), ceb)) → new_esEs6(vwx360, vwx370, cdh, cea, ceb)
new_sr(vwx3001, vwx31001) → new_primMulInt(vwx3001, vwx31001)
new_esEs24(vwx362, vwx372, ty_Bool) → new_esEs17(vwx362, vwx372)
new_lt4(vwx3000, vwx31000) → new_esEs8(new_compare7(vwx3000, vwx31000))
new_compare7(vwx300, vwx3100) → new_primCmpInt(vwx300, vwx3100)
new_lt10(vwx3000, vwx31000, ty_Int) → new_lt4(vwx3000, vwx31000)
new_esEs24(vwx362, vwx372, ty_Ordering) → new_esEs13(vwx362, vwx372)
new_ltEs15(GT, GT) → True
new_esEs20(vwx360, vwx370, ty_Integer) → new_esEs9(vwx360, vwx370)
new_esEs25(vwx360, vwx370, ty_@0) → new_esEs10(vwx360, vwx370)
new_primPlusNat0(Succ(vwx660), vwx3100100) → Succ(Succ(new_primPlusNat1(vwx660, vwx3100100)))
new_esEs25(vwx360, vwx370, ty_Float) → new_esEs16(vwx360, vwx370)
new_esEs7(Right(vwx360), Right(vwx370), bfg, app(app(ty_Either, cef), ceg)) → new_esEs7(vwx360, vwx370, cef, ceg)
new_esEs11(vwx36, vwx37, app(app(ty_@2, bfd), bfe)) → new_esEs4(vwx36, vwx37, bfd, bfe)
new_ltEs9(Just(vwx3000), Just(vwx31000), app(ty_[], ef)) → new_ltEs17(vwx3000, vwx31000, ef)
new_esEs26(vwx361, vwx371, app(app(app(ty_@3, cgd), cge), cgf)) → new_esEs6(vwx361, vwx371, cgd, cge, cgf)
new_ltEs19(vwx3001, vwx31001, app(ty_Maybe, cf)) → new_ltEs9(vwx3001, vwx31001, cf)
new_esEs25(vwx360, vwx370, app(ty_[], ceh)) → new_esEs12(vwx360, vwx370, ceh)
new_ltEs4(vwx300, vwx3100) → new_not(new_compare6(vwx300, vwx3100))
new_esEs22(vwx360, vwx370, ty_Char) → new_esEs14(vwx360, vwx370)
new_lt11(vwx3001, vwx31001, app(app(app(ty_@3, gg), gh), ha)) → new_lt15(vwx3001, vwx31001, gg, gh, ha)
new_lt20(vwx3000, vwx31000, ty_Ordering) → new_lt9(vwx3000, vwx31000)
new_primEqInt(Neg(Succ(vwx3600)), Neg(Succ(vwx3700))) → new_primEqNat0(vwx3600, vwx3700)
new_lt17(vwx3000, vwx31000) → new_esEs8(new_compare6(vwx3000, vwx31000))
new_esEs22(vwx360, vwx370, app(app(app(ty_@3, bge), bgf), bgg)) → new_esEs6(vwx360, vwx370, bge, bgf, bgg)
new_compare113(vwx3000, vwx31000, True, ba, bb) → LT
new_lt11(vwx3001, vwx31001, ty_Integer) → new_lt8(vwx3001, vwx31001)
new_primPlusNat1(Succ(vwx6600), Zero) → Succ(vwx6600)
new_primPlusNat1(Zero, Succ(vwx31001000)) → Succ(vwx31001000)
new_compare18(vwx3000, vwx31000, bh, ca) → new_compare26(vwx3000, vwx31000, new_esEs7(vwx3000, vwx31000, bh, ca), bh, ca)
new_esEs19(Double(vwx360, vwx361), Double(vwx370, vwx371)) → new_esEs18(new_sr(vwx360, vwx370), new_sr(vwx361, vwx371))
new_lt11(vwx3001, vwx31001, ty_Bool) → new_lt14(vwx3001, vwx31001)
new_lt20(vwx3000, vwx31000, ty_Int) → new_lt4(vwx3000, vwx31000)
new_ltEs9(Just(vwx3000), Just(vwx31000), ty_@0) → new_ltEs6(vwx3000, vwx31000)
new_ltEs10(Right(vwx3000), Right(vwx31000), bbh, ty_Ordering) → new_ltEs15(vwx3000, vwx31000)
new_esEs25(vwx360, vwx370, ty_Int) → new_esEs18(vwx360, vwx370)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_ltEs5(vwx300, vwx3100) → new_not(new_compare7(vwx300, vwx3100))
new_esEs24(vwx362, vwx372, app(app(app(ty_@3, cba), cbb), cbc)) → new_esEs6(vwx362, vwx372, cba, cbb, cbc)
new_compare16(vwx3000, vwx31000, ty_Integer) → new_compare13(vwx3000, vwx31000)
new_esEs7(Right(vwx360), Right(vwx370), bfg, app(ty_Maybe, cee)) → new_esEs5(vwx360, vwx370, cee)
new_esEs7(Right(vwx360), Right(vwx370), bfg, app(ty_Ratio, cdg)) → new_esEs15(vwx360, vwx370, cdg)
new_compare12(vwx3000, vwx31000, ba, bb) → new_compare27(vwx3000, vwx31000, new_esEs4(vwx3000, vwx31000, ba, bb), ba, bb)
new_esEs25(vwx360, vwx370, app(ty_Ratio, cfa)) → new_esEs15(vwx360, vwx370, cfa)
new_primEqInt(Neg(Succ(vwx3600)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(vwx3700))) → False
new_lt20(vwx3000, vwx31000, ty_Integer) → new_lt8(vwx3000, vwx31000)
new_ltEs9(Just(vwx3000), Just(vwx31000), app(app(ty_Either, ed), ee)) → new_ltEs10(vwx3000, vwx31000, ed, ee)
new_esEs5(Just(vwx360), Just(vwx370), ty_Float) → new_esEs16(vwx360, vwx370)
new_compare26(vwx3000, vwx31000, True, bh, ca) → EQ
new_esEs24(vwx362, vwx372, ty_Integer) → new_esEs9(vwx362, vwx372)
new_compare11(:%(vwx3000, vwx3001), :%(vwx31000, vwx31001), ty_Integer) → new_compare13(new_sr0(vwx3000, vwx31001), new_sr0(vwx31000, vwx3001))
new_lt20(vwx3000, vwx31000, app(ty_Maybe, bd)) → new_lt5(vwx3000, vwx31000, bd)
new_esEs26(vwx361, vwx371, app(app(ty_Either, chb), chc)) → new_esEs7(vwx361, vwx371, chb, chc)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_ltEs15(LT, GT) → True
new_esEs5(Just(vwx360), Just(vwx370), ty_@0) → new_esEs10(vwx360, vwx370)
new_ltEs18(vwx3002, vwx31002, app(ty_Ratio, ccc)) → new_ltEs16(vwx3002, vwx31002, ccc)
new_primCmpNat0(Succ(vwx30000), Succ(vwx310000)) → new_primCmpNat0(vwx30000, vwx310000)
new_esEs9(Integer(vwx360), Integer(vwx370)) → new_primEqInt(vwx360, vwx370)
new_compare5(:(vwx3000, vwx3001), [], bdb) → GT
new_compare112(vwx3000, vwx31000, True) → LT
new_ltEs18(vwx3002, vwx31002, ty_Integer) → new_ltEs13(vwx3002, vwx31002)
new_esEs13(LT, LT) → True
new_ltEs10(Right(vwx3000), Right(vwx31000), bbh, ty_Char) → new_ltEs8(vwx3000, vwx31000)
new_compare16(vwx3000, vwx31000, app(ty_[], bec)) → new_compare5(vwx3000, vwx31000, bec)
new_primEqInt(Pos(Succ(vwx3600)), Pos(Succ(vwx3700))) → new_primEqNat0(vwx3600, vwx3700)
new_ltEs19(vwx3001, vwx31001, app(app(app(ty_@3, cg), da), db)) → new_ltEs7(vwx3001, vwx31001, cg, da, db)
new_compare27(vwx3000, vwx31000, True, ba, bb) → EQ
new_esEs25(vwx360, vwx370, app(ty_Maybe, cfg)) → new_esEs5(vwx360, vwx370, cfg)
new_ltEs19(vwx3001, vwx31001, ty_Bool) → new_ltEs14(vwx3001, vwx31001)
new_ltEs18(vwx3002, vwx31002, app(ty_Maybe, hg)) → new_ltEs9(vwx3002, vwx31002, hg)
new_ltEs10(Right(vwx3000), Right(vwx31000), bbh, app(ty_[], bda)) → new_ltEs17(vwx3000, vwx31000, bda)
new_esEs23(vwx361, vwx371, app(ty_[], bhe)) → new_esEs12(vwx361, vwx371, bhe)
new_esEs22(vwx360, vwx370, ty_Double) → new_esEs19(vwx360, vwx370)
new_compare16(vwx3000, vwx31000, ty_Char) → new_compare24(vwx3000, vwx31000)
new_esEs24(vwx362, vwx372, ty_Int) → new_esEs18(vwx362, vwx372)
new_primEqNat0(Succ(vwx3600), Succ(vwx3700)) → new_primEqNat0(vwx3600, vwx3700)
new_ltEs14(False, False) → True
new_esEs7(Left(vwx360), Left(vwx370), ty_Integer, bfh) → new_esEs9(vwx360, vwx370)
new_esEs7(Right(vwx360), Right(vwx370), bfg, app(ty_[], cdf)) → new_esEs12(vwx360, vwx370, cdf)
new_compare113(vwx3000, vwx31000, False, ba, bb) → GT
new_compare16(vwx3000, vwx31000, ty_Float) → new_compare6(vwx3000, vwx31000)
new_compare5(:(vwx3000, vwx3001), :(vwx31000, vwx31001), bdb) → new_primCompAux0(vwx3000, vwx31000, new_compare5(vwx3001, vwx31001, bdb), bdb)
new_compare27(vwx3000, vwx31000, False, ba, bb) → new_compare113(vwx3000, vwx31000, new_ltEs12(vwx3000, vwx31000, ba, bb), ba, bb)
new_primCompAux00(vwx52, LT) → LT
new_esEs27(vwx360, vwx370, app(ty_Ratio, che)) → new_esEs15(vwx360, vwx370, che)
new_esEs11(vwx36, vwx37, ty_Bool) → new_esEs17(vwx36, vwx37)
new_primCmpInt(Neg(Succ(vwx30000)), Neg(vwx31000)) → new_primCmpNat0(vwx31000, Succ(vwx30000))
new_ltEs19(vwx3001, vwx31001, app(ty_[], de)) → new_ltEs17(vwx3001, vwx31001, de)
new_esEs26(vwx361, vwx371, app(app(ty_@2, cgg), cgh)) → new_esEs4(vwx361, vwx371, cgg, cgh)
new_ltEs10(Right(vwx3000), Right(vwx31000), bbh, app(app(ty_Either, bcg), bch)) → new_ltEs10(vwx3000, vwx31000, bcg, bch)
new_ltEs6(vwx300, vwx3100) → new_not(new_compare9(vwx300, vwx3100))
new_compare11(:%(vwx3000, vwx3001), :%(vwx31000, vwx31001), ty_Int) → new_compare7(new_sr(vwx3000, vwx31001), new_sr(vwx31000, vwx3001))
new_lt10(vwx3000, vwx31000, ty_Float) → new_lt17(vwx3000, vwx31000)
new_ltEs18(vwx3002, vwx31002, ty_Double) → new_ltEs11(vwx3002, vwx31002)
new_ltEs18(vwx3002, vwx31002, app(app(ty_@2, he), hf)) → new_ltEs12(vwx3002, vwx31002, he, hf)
new_primEqInt(Pos(Succ(vwx3600)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(vwx3700))) → False
new_esEs7(Right(vwx360), Right(vwx370), bfg, ty_Double) → new_esEs19(vwx360, vwx370)
new_compare16(vwx3000, vwx31000, app(ty_Ratio, bee)) → new_compare11(vwx3000, vwx31000, bee)
new_esEs24(vwx362, vwx372, ty_@0) → new_esEs10(vwx362, vwx372)
new_primCmpNat0(Zero, Zero) → EQ
new_esEs23(vwx361, vwx371, ty_Ordering) → new_esEs13(vwx361, vwx371)
new_primCmpNat0(Succ(vwx30000), Zero) → GT
new_ltEs9(Just(vwx3000), Just(vwx31000), app(ty_Maybe, dh)) → new_ltEs9(vwx3000, vwx31000, dh)
new_lt20(vwx3000, vwx31000, app(ty_Ratio, bed)) → new_lt6(vwx3000, vwx31000, bed)
new_lt19(vwx3000, vwx31000) → new_esEs8(new_compare24(vwx3000, vwx31000))
new_esEs8(LT) → True
new_lt10(vwx3000, vwx31000, ty_@0) → new_lt13(vwx3000, vwx31000)
new_primCmpInt(Neg(Zero), Pos(Succ(vwx310000))) → LT
new_compare9(@0, @0) → EQ
new_compare24(Char(vwx3000), Char(vwx31000)) → new_primCmpNat0(vwx3000, vwx31000)
new_ltEs9(Just(vwx3000), Just(vwx31000), app(ty_Ratio, dag)) → new_ltEs16(vwx3000, vwx31000, dag)
new_esEs27(vwx360, vwx370, ty_Integer) → new_esEs9(vwx360, vwx370)
new_compare14(vwx3000, vwx31000, False, be, bf, bg) → GT
new_sr0(Integer(vwx310000), Integer(vwx30010)) → Integer(new_primMulInt(vwx310000, vwx30010))
new_primPlusNat1(Succ(vwx6600), Succ(vwx31001000)) → Succ(Succ(new_primPlusNat1(vwx6600, vwx31001000)))
new_ltEs19(vwx3001, vwx31001, app(app(ty_@2, cd), ce)) → new_ltEs12(vwx3001, vwx31001, cd, ce)
new_primEqInt(Pos(Succ(vwx3600)), Neg(vwx370)) → False
new_primEqInt(Neg(Succ(vwx3600)), Pos(vwx370)) → False
new_esEs7(Left(vwx360), Left(vwx370), app(ty_[], ccd), bfh) → new_esEs12(vwx360, vwx370, ccd)
new_esEs24(vwx362, vwx372, app(app(ty_@2, cbd), cbe)) → new_esEs4(vwx362, vwx372, cbd, cbe)
new_ltEs10(Left(vwx3000), Left(vwx31000), app(ty_[], bbg), bah) → new_ltEs17(vwx3000, vwx31000, bbg)
new_esEs27(vwx360, vwx370, app(ty_Maybe, dac)) → new_esEs5(vwx360, vwx370, dac)
new_esEs7(Left(vwx360), Left(vwx370), ty_@0, bfh) → new_esEs10(vwx360, vwx370)
new_esEs8(GT) → False
new_lt11(vwx3001, vwx31001, ty_Ordering) → new_lt9(vwx3001, vwx31001)
new_lt10(vwx3000, vwx31000, app(app(ty_Either, fh), ga)) → new_lt16(vwx3000, vwx31000, fh, ga)
new_compare10(vwx3000, vwx31000, bd) → new_compare25(vwx3000, vwx31000, new_esEs5(vwx3000, vwx31000, bd), bd)
new_esEs4(@2(vwx360, vwx361), @2(vwx370, vwx371), bfd, bfe) → new_asAs(new_esEs25(vwx360, vwx370, bfd), new_esEs26(vwx361, vwx371, bfe))
new_primEqInt(Pos(Zero), Neg(Succ(vwx3700))) → False
new_primEqInt(Neg(Zero), Pos(Succ(vwx3700))) → False
new_ltEs9(Just(vwx3000), Nothing, daf) → False
new_primCompAux0(vwx3000, vwx31000, vwx48, bdb) → new_primCompAux00(vwx48, new_compare16(vwx3000, vwx31000, bdb))
new_primCmpInt(Pos(Zero), Pos(Succ(vwx310000))) → new_primCmpNat0(Zero, Succ(vwx310000))
new_primCompAux00(vwx52, EQ) → vwx52
new_lt10(vwx3000, vwx31000, ty_Char) → new_lt19(vwx3000, vwx31000)
new_lt10(vwx3000, vwx31000, app(ty_[], gb)) → new_lt18(vwx3000, vwx31000, gb)
new_esEs23(vwx361, vwx371, ty_Int) → new_esEs18(vwx361, vwx371)
new_esEs11(vwx36, vwx37, ty_@0) → new_esEs10(vwx36, vwx37)
new_lt10(vwx3000, vwx31000, app(ty_Maybe, fc)) → new_lt5(vwx3000, vwx31000, fc)
new_lt12(vwx3000, vwx31000) → new_esEs8(new_compare8(vwx3000, vwx31000))
new_esEs26(vwx361, vwx371, ty_Float) → new_esEs16(vwx361, vwx371)
new_lt9(vwx3000, vwx31000) → new_esEs8(new_compare19(vwx3000, vwx31000))
new_esEs7(Right(vwx360), Right(vwx370), bfg, ty_Int) → new_esEs18(vwx360, vwx370)
new_lt7(vwx3000, vwx31000, ba, bb) → new_esEs8(new_compare12(vwx3000, vwx31000, ba, bb))
new_ltEs19(vwx3001, vwx31001, ty_Char) → new_ltEs8(vwx3001, vwx31001)
new_esEs15(:%(vwx360, vwx361), :%(vwx370, vwx371), beh) → new_asAs(new_esEs20(vwx360, vwx370, beh), new_esEs21(vwx361, vwx371, beh))
new_esEs7(Left(vwx360), Left(vwx370), ty_Int, bfh) → new_esEs18(vwx360, vwx370)
new_compare110(vwx3000, vwx31000, True, bd) → LT
new_primPlusNat0(Zero, vwx3100100) → Succ(vwx3100100)
new_primCmpInt(Pos(Succ(vwx30000)), Pos(vwx31000)) → new_primCmpNat0(Succ(vwx30000), vwx31000)
new_esEs5(Just(vwx360), Just(vwx370), ty_Char) → new_esEs14(vwx360, vwx370)
new_esEs7(Right(vwx360), Right(vwx370), bfg, ty_Bool) → new_esEs17(vwx360, vwx370)
new_ltEs10(Right(vwx3000), Right(vwx31000), bbh, ty_Integer) → new_ltEs13(vwx3000, vwx31000)
new_ltEs9(Nothing, Nothing, daf) → True
new_esEs22(vwx360, vwx370, ty_Bool) → new_esEs17(vwx360, vwx370)
new_ltEs13(vwx300, vwx3100) → new_not(new_compare13(vwx300, vwx3100))
new_lt20(vwx3000, vwx31000, app(app(app(ty_@3, be), bf), bg)) → new_lt15(vwx3000, vwx31000, be, bf, bg)
new_compare16(vwx3000, vwx31000, ty_Int) → new_compare7(vwx3000, vwx31000)
new_esEs26(vwx361, vwx371, ty_Int) → new_esEs18(vwx361, vwx371)
new_lt20(vwx3000, vwx31000, app(app(ty_Either, bh), ca)) → new_lt16(vwx3000, vwx31000, bh, ca)
new_not0True
new_ltEs8(vwx300, vwx3100) → new_not(new_compare24(vwx300, vwx3100))
new_pePe(False, vwx36, vwx37, vwx38, bef) → new_asAs(new_esEs11(vwx36, vwx37, bef), vwx38)
new_compare28(vwx3000, vwx31000, True) → EQ
new_esEs24(vwx362, vwx372, app(ty_Maybe, cbf)) → new_esEs5(vwx362, vwx372, cbf)
new_esEs23(vwx361, vwx371, ty_@0) → new_esEs10(vwx361, vwx371)
new_esEs20(vwx360, vwx370, ty_Int) → new_esEs18(vwx360, vwx370)
new_primCmpInt(Pos(Succ(vwx30000)), Neg(vwx31000)) → GT
new_ltEs15(LT, EQ) → True
new_esEs7(Right(vwx360), Right(vwx370), bfg, ty_Integer) → new_esEs9(vwx360, vwx370)
new_esEs11(vwx36, vwx37, app(ty_Maybe, bff)) → new_esEs5(vwx36, vwx37, bff)
new_primMulInt(Pos(vwx30010), Pos(vwx310010)) → Pos(new_primMulNat0(vwx30010, vwx310010))
new_esEs26(vwx361, vwx371, ty_@0) → new_esEs10(vwx361, vwx371)
new_esEs5(Just(vwx360), Just(vwx370), ty_Bool) → new_esEs17(vwx360, vwx370)
new_compare16(vwx3000, vwx31000, ty_Double) → new_compare8(vwx3000, vwx31000)
new_primMulInt(Neg(vwx30010), Neg(vwx310010)) → Pos(new_primMulNat0(vwx30010, vwx310010))
new_esEs7(Right(vwx360), Right(vwx370), bfg, app(app(ty_@2, cec), ced)) → new_esEs4(vwx360, vwx370, cec, ced)
new_esEs13(GT, GT) → True
new_lt10(vwx3000, vwx31000, app(app(ty_@2, eg), eh)) → new_lt7(vwx3000, vwx31000, eg, eh)
new_ltEs19(vwx3001, vwx31001, ty_Int) → new_ltEs5(vwx3001, vwx31001)
new_ltEs10(Left(vwx3000), Left(vwx31000), ty_Char, bah) → new_ltEs8(vwx3000, vwx31000)
new_primEqNat0(Succ(vwx3600), Zero) → False
new_primEqNat0(Zero, Succ(vwx3700)) → False
new_ltEs10(Right(vwx3000), Right(vwx31000), bbh, app(app(app(ty_@3, bcd), bce), bcf)) → new_ltEs7(vwx3000, vwx31000, bcd, bce, bcf)
new_esEs27(vwx360, vwx370, ty_Char) → new_esEs14(vwx360, vwx370)
new_ltEs19(vwx3001, vwx31001, ty_@0) → new_ltEs6(vwx3001, vwx31001)
new_ltEs14(True, True) → True
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs22(vwx360, vwx370, app(ty_Ratio, bgd)) → new_esEs15(vwx360, vwx370, bgd)
new_esEs27(vwx360, vwx370, app(app(app(ty_@3, chf), chg), chh)) → new_esEs6(vwx360, vwx370, chf, chg, chh)
new_esEs11(vwx36, vwx37, ty_Int) → new_esEs18(vwx36, vwx37)
new_ltEs18(vwx3002, vwx31002, app(ty_[], bae)) → new_ltEs17(vwx3002, vwx31002, bae)
new_lt10(vwx3000, vwx31000, ty_Bool) → new_lt14(vwx3000, vwx31000)
new_lt11(vwx3001, vwx31001, ty_Float) → new_lt17(vwx3001, vwx31001)
new_lt6(vwx3000, vwx31000, bed) → new_esEs8(new_compare11(vwx3000, vwx31000, bed))
new_lt10(vwx3000, vwx31000, app(ty_Ratio, cca)) → new_lt6(vwx3000, vwx31000, cca)
new_esEs5(Just(vwx360), Just(vwx370), ty_Ordering) → new_esEs13(vwx360, vwx370)
new_esEs26(vwx361, vwx371, app(ty_Maybe, cha)) → new_esEs5(vwx361, vwx371, cha)
new_pePe(True, vwx36, vwx37, vwx38, bef) → True
new_esEs22(vwx360, vwx370, ty_@0) → new_esEs10(vwx360, vwx370)
new_esEs24(vwx362, vwx372, ty_Double) → new_esEs19(vwx362, vwx372)
new_esEs5(Just(vwx360), Just(vwx370), ty_Double) → new_esEs19(vwx360, vwx370)
new_esEs16(Float(vwx360, vwx361), Float(vwx370, vwx371)) → new_esEs18(new_sr(vwx360, vwx370), new_sr(vwx361, vwx371))
new_primCmpInt(Neg(Zero), Neg(Succ(vwx310000))) → new_primCmpNat0(Succ(vwx310000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(vwx310000))) → GT
new_esEs23(vwx361, vwx371, ty_Bool) → new_esEs17(vwx361, vwx371)
new_esEs7(Left(vwx360), Left(vwx370), app(app(ty_@2, cda), cdb), bfh) → new_esEs4(vwx360, vwx370, cda, cdb)
new_compare110(vwx3000, vwx31000, False, bd) → GT
new_esEs6(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), bfa, bfb, bfc) → new_asAs(new_esEs22(vwx360, vwx370, bfa), new_asAs(new_esEs23(vwx361, vwx371, bfb), new_esEs24(vwx362, vwx372, bfc)))
new_esEs5(Just(vwx360), Just(vwx370), app(app(app(ty_@3, dbc), dbd), dbe)) → new_esEs6(vwx360, vwx370, dbc, dbd, dbe)
new_lt11(vwx3001, vwx31001, ty_Char) → new_lt19(vwx3001, vwx31001)
new_esEs7(Right(vwx360), Right(vwx370), bfg, ty_Char) → new_esEs14(vwx360, vwx370)
new_esEs11(vwx36, vwx37, app(ty_Ratio, beh)) → new_esEs15(vwx36, vwx37, beh)
new_esEs11(vwx36, vwx37, app(app(ty_Either, bfg), bfh)) → new_esEs7(vwx36, vwx37, bfg, bfh)
new_lt11(vwx3001, vwx31001, ty_@0) → new_lt13(vwx3001, vwx31001)
new_compare5([], :(vwx31000, vwx31001), bdb) → LT
new_compare26(vwx3000, vwx31000, False, bh, ca) → new_compare111(vwx3000, vwx31000, new_ltEs10(vwx3000, vwx31000, bh, ca), bh, ca)
new_lt18(vwx3000, vwx31000, cb) → new_esEs8(new_compare5(vwx3000, vwx31000, cb))
new_lt13(vwx3000, vwx31000) → new_esEs8(new_compare9(vwx3000, vwx31000))
new_compare17(vwx3000, vwx31000) → new_compare29(vwx3000, vwx31000, new_esEs17(vwx3000, vwx31000))
new_esEs23(vwx361, vwx371, app(ty_Ratio, bhf)) → new_esEs15(vwx361, vwx371, bhf)
new_lt11(vwx3001, vwx31001, app(ty_Ratio, ccb)) → new_lt6(vwx3001, vwx31001, ccb)
new_ltEs10(Right(vwx3000), Right(vwx31000), bbh, app(app(ty_@2, bca), bcb)) → new_ltEs12(vwx3000, vwx31000, bca, bcb)
new_ltEs10(Left(vwx3000), Left(vwx31000), app(ty_Maybe, bba), bah) → new_ltEs9(vwx3000, vwx31000, bba)
new_esEs10(@0, @0) → True
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_lt20(vwx3000, vwx31000, ty_@0) → new_lt13(vwx3000, vwx31000)
new_compare16(vwx3000, vwx31000, ty_@0) → new_compare9(vwx3000, vwx31000)
new_asAs(False, vwx47) → False
new_lt11(vwx3001, vwx31001, ty_Double) → new_lt12(vwx3001, vwx31001)
new_esEs5(Just(vwx360), Just(vwx370), ty_Int) → new_esEs18(vwx360, vwx370)
new_esEs5(Just(vwx360), Just(vwx370), app(app(ty_Either, dca), dcb)) → new_esEs7(vwx360, vwx370, dca, dcb)
new_primMulInt(Neg(vwx30010), Pos(vwx310010)) → Neg(new_primMulNat0(vwx30010, vwx310010))
new_primMulInt(Pos(vwx30010), Neg(vwx310010)) → Neg(new_primMulNat0(vwx30010, vwx310010))
new_primMulNat0(Zero, Succ(vwx3100100)) → Zero
new_primMulNat0(Succ(vwx300100), Zero) → Zero
new_esEs13(GT, EQ) → False
new_esEs13(EQ, GT) → False
new_esEs7(Left(vwx360), Left(vwx370), app(ty_Ratio, cce), bfh) → new_esEs15(vwx360, vwx370, cce)
new_esEs23(vwx361, vwx371, app(app(app(ty_@3, bhg), bhh), caa)) → new_esEs6(vwx361, vwx371, bhg, bhh, caa)
new_esEs26(vwx361, vwx371, app(ty_[], cgb)) → new_esEs12(vwx361, vwx371, cgb)
new_esEs11(vwx36, vwx37, app(ty_[], beg)) → new_esEs12(vwx36, vwx37, beg)
new_lt11(vwx3001, vwx31001, app(ty_[], hd)) → new_lt18(vwx3001, vwx31001, hd)
new_esEs5(Just(vwx360), Just(vwx370), ty_Integer) → new_esEs9(vwx360, vwx370)
new_not(EQ) → new_not0
new_ltEs18(vwx3002, vwx31002, ty_Bool) → new_ltEs14(vwx3002, vwx31002)
new_compare16(vwx3000, vwx31000, app(app(ty_@2, bdc), bdd)) → new_compare12(vwx3000, vwx31000, bdc, bdd)
new_esEs21(vwx361, vwx371, ty_Integer) → new_esEs9(vwx361, vwx371)
new_esEs23(vwx361, vwx371, app(ty_Maybe, cad)) → new_esEs5(vwx361, vwx371, cad)
new_ltEs10(Right(vwx3000), Right(vwx31000), bbh, app(ty_Ratio, bgb)) → new_ltEs16(vwx3000, vwx31000, bgb)
new_lt11(vwx3001, vwx31001, ty_Int) → new_lt4(vwx3001, vwx31001)
new_esEs25(vwx360, vwx370, app(app(app(ty_@3, cfb), cfc), cfd)) → new_esEs6(vwx360, vwx370, cfb, cfc, cfd)
new_esEs26(vwx361, vwx371, ty_Integer) → new_esEs9(vwx361, vwx371)
new_compare28(vwx3000, vwx31000, False) → new_compare114(vwx3000, vwx31000, new_ltEs15(vwx3000, vwx31000))
new_ltEs9(Just(vwx3000), Just(vwx31000), ty_Int) → new_ltEs5(vwx3000, vwx31000)
new_lt10(vwx3000, vwx31000, app(app(app(ty_@3, fd), ff), fg)) → new_lt15(vwx3000, vwx31000, fd, ff, fg)
new_ltEs10(Left(vwx3000), Left(vwx31000), ty_Int, bah) → new_ltEs5(vwx3000, vwx31000)
new_esEs7(Left(vwx360), Left(vwx370), app(app(app(ty_@3, ccf), ccg), cch), bfh) → new_esEs6(vwx360, vwx370, ccf, ccg, cch)
new_esEs26(vwx361, vwx371, ty_Double) → new_esEs19(vwx361, vwx371)
new_ltEs9(Just(vwx3000), Just(vwx31000), ty_Char) → new_ltEs8(vwx3000, vwx31000)
new_esEs22(vwx360, vwx370, app(ty_[], bgc)) → new_esEs12(vwx360, vwx370, bgc)
new_esEs5(Nothing, Just(vwx370), bff) → False
new_esEs5(Just(vwx360), Nothing, bff) → False
new_esEs14(Char(vwx360), Char(vwx370)) → new_primEqNat0(vwx360, vwx370)
new_compare23(vwx3000, vwx31000, False, be, bf, bg) → new_compare14(vwx3000, vwx31000, new_ltEs7(vwx3000, vwx31000, be, bf, bg), be, bf, bg)
new_esEs22(vwx360, vwx370, ty_Float) → new_esEs16(vwx360, vwx370)
new_esEs11(vwx36, vwx37, ty_Double) → new_esEs19(vwx36, vwx37)
new_esEs27(vwx360, vwx370, app(app(ty_@2, daa), dab)) → new_esEs4(vwx360, vwx370, daa, dab)
new_esEs11(vwx36, vwx37, ty_Integer) → new_esEs9(vwx36, vwx37)
new_ltEs14(True, False) → False
new_esEs26(vwx361, vwx371, ty_Bool) → new_esEs17(vwx361, vwx371)
new_ltEs10(Right(vwx3000), Left(vwx31000), bbh, bah) → False
new_not(LT) → new_not0
new_compare13(Integer(vwx3000), Integer(vwx31000)) → new_primCmpInt(vwx3000, vwx31000)
new_ltEs18(vwx3002, vwx31002, ty_Ordering) → new_ltEs15(vwx3002, vwx31002)
new_esEs5(Nothing, Nothing, bff) → True
new_ltEs10(Right(vwx3000), Right(vwx31000), bbh, app(ty_Maybe, bcc)) → new_ltEs9(vwx3000, vwx31000, bcc)
new_esEs7(Left(vwx360), Left(vwx370), app(ty_Maybe, cdc), bfh) → new_esEs5(vwx360, vwx370, cdc)
new_compare112(vwx3000, vwx31000, False) → GT
new_esEs7(Left(vwx360), Left(vwx370), ty_Bool, bfh) → new_esEs17(vwx360, vwx370)
new_lt8(vwx3000, vwx31000) → new_esEs8(new_compare13(vwx3000, vwx31000))
new_lt10(vwx3000, vwx31000, ty_Integer) → new_lt8(vwx3000, vwx31000)
new_esEs8(EQ) → False
new_esEs25(vwx360, vwx370, ty_Double) → new_esEs19(vwx360, vwx370)
new_esEs22(vwx360, vwx370, app(ty_Maybe, bhb)) → new_esEs5(vwx360, vwx370, bhb)
new_esEs12(:(vwx360, vwx361), :(vwx370, vwx371), beg) → new_asAs(new_esEs27(vwx360, vwx370, beg), new_esEs12(vwx361, vwx371, beg))
new_compare111(vwx3000, vwx31000, True, bh, ca) → LT
new_primPlusNat1(Zero, Zero) → Zero
new_esEs24(vwx362, vwx372, ty_Float) → new_esEs16(vwx362, vwx372)
new_asAs(True, vwx47) → vwx47
new_ltEs15(GT, EQ) → False
new_esEs27(vwx360, vwx370, app(ty_[], chd)) → new_esEs12(vwx360, vwx370, chd)
new_primMulNat0(Succ(vwx300100), Succ(vwx3100100)) → new_primPlusNat0(new_primMulNat0(vwx300100, Succ(vwx3100100)), vwx3100100)
new_esEs27(vwx360, vwx370, ty_Float) → new_esEs16(vwx360, vwx370)
new_compare16(vwx3000, vwx31000, app(app(app(ty_@3, bdf), bdg), bdh)) → new_compare15(vwx3000, vwx31000, bdf, bdg, bdh)
new_lt10(vwx3000, vwx31000, ty_Ordering) → new_lt9(vwx3000, vwx31000)
new_ltEs10(Right(vwx3000), Right(vwx31000), bbh, ty_Double) → new_ltEs11(vwx3000, vwx31000)
new_esEs25(vwx360, vwx370, ty_Ordering) → new_esEs13(vwx360, vwx370)
new_ltEs19(vwx3001, vwx31001, ty_Integer) → new_ltEs13(vwx3001, vwx31001)
new_esEs7(Right(vwx360), Right(vwx370), bfg, ty_Ordering) → new_esEs13(vwx360, vwx370)
new_compare5([], [], bdb) → EQ
new_lt10(vwx3000, vwx31000, ty_Double) → new_lt12(vwx3000, vwx31000)
new_esEs24(vwx362, vwx372, ty_Char) → new_esEs14(vwx362, vwx372)
new_esEs7(Left(vwx360), Left(vwx370), ty_Ordering, bfh) → new_esEs13(vwx360, vwx370)
new_ltEs10(Right(vwx3000), Right(vwx31000), bbh, ty_@0) → new_ltEs6(vwx3000, vwx31000)
new_compare114(vwx3000, vwx31000, True) → LT
new_ltEs10(Right(vwx3000), Right(vwx31000), bbh, ty_Int) → new_ltEs5(vwx3000, vwx31000)
new_primCompAux00(vwx52, GT) → GT
new_esEs25(vwx360, vwx370, app(app(ty_Either, cfh), cga)) → new_esEs7(vwx360, vwx370, cfh, cga)
new_esEs7(Left(vwx360), Left(vwx370), ty_Float, bfh) → new_esEs16(vwx360, vwx370)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs7(Right(vwx360), Right(vwx370), bfg, ty_@0) → new_esEs10(vwx360, vwx370)
new_ltEs12(@2(vwx3000, vwx3001), @2(vwx31000, vwx31001), cc, bc) → new_pePe(new_lt20(vwx3000, vwx31000, cc), vwx3000, vwx31000, new_ltEs19(vwx3001, vwx31001, bc), cc)
new_esEs26(vwx361, vwx371, ty_Ordering) → new_esEs13(vwx361, vwx371)
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primCmpInt(Neg(Succ(vwx30000)), Pos(vwx31000)) → LT
new_esEs25(vwx360, vwx370, ty_Integer) → new_esEs9(vwx360, vwx370)
new_esEs27(vwx360, vwx370, ty_Double) → new_esEs19(vwx360, vwx370)

The set Q consists of the following terms:

new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_esEs7(Left(x0), Left(x1), ty_Integer, x2)
new_esEs24(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Integer)
new_esEs5(Just(x0), Just(x1), app(ty_Maybe, x2))
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs22(x0, x1, ty_Double)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Right(x0), Right(x1), x2, ty_Double)
new_compare7(x0, x1)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs24(x0, x1, ty_Char)
new_compare5([], :(x0, x1), x2)
new_ltEs9(Just(x0), Just(x1), ty_Char)
new_lt10(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_Integer)
new_esEs23(x0, x1, ty_Int)
new_ltEs5(x0, x1)
new_esEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs19(Double(x0, x1), Double(x2, x3))
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpNat0(Succ(x0), Zero)
new_lt10(x0, x1, ty_Ordering)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(x0, x1, ty_Ordering)
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs13(GT, GT)
new_esEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs22(x0, x1, ty_Int)
new_ltEs6(x0, x1)
new_ltEs18(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs5(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs10(Right(x0), Right(x1), x2, ty_Double)
new_lt11(x0, x1, ty_Double)
new_esEs5(Just(x0), Just(x1), ty_Float)
new_lt5(x0, x1, x2)
new_esEs21(x0, x1, ty_Int)
new_lt10(x0, x1, ty_Char)
new_ltEs10(Right(x0), Left(x1), x2, x3)
new_lt11(x0, x1, ty_Bool)
new_ltEs10(Left(x0), Right(x1), x2, x3)
new_ltEs17(x0, x1, x2)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs8(LT)
new_ltEs14(True, False)
new_ltEs14(False, True)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs24(x0, x1, ty_Ordering)
new_esEs26(x0, x1, ty_Double)
new_lt20(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, ty_Float)
new_lt10(x0, x1, ty_Double)
new_compare16(x0, x1, ty_Int)
new_esEs24(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_@0)
new_lt4(x0, x1)
new_compare16(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs16(Float(x0, x1), Float(x2, x3))
new_esEs22(x0, x1, ty_Char)
new_compare14(x0, x1, False, x2, x3, x4)
new_primCompAux00(x0, GT)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs17(False, False)
new_ltEs19(x0, x1, ty_Ordering)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_esEs25(x0, x1, ty_Int)
new_asAs(True, x0)
new_compare25(x0, x1, False, x2)
new_ltEs10(Left(x0), Left(x1), ty_Int, x2)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_compare14(x0, x1, True, x2, x3, x4)
new_esEs7(Right(x0), Right(x1), x2, ty_Integer)
new_ltEs10(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_compare16(x0, x1, app(ty_Maybe, x2))
new_esEs7(Left(x0), Left(x1), ty_Float, x2)
new_compare19(x0, x1)
new_esEs22(x0, x1, ty_Integer)
new_ltEs18(x0, x1, ty_Float)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs5(Just(x0), Just(x1), ty_Bool)
new_esEs13(GT, LT)
new_esEs13(LT, GT)
new_ltEs18(x0, x1, ty_Char)
new_ltEs10(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_primCompAux00(x0, LT)
new_lt20(x0, x1, ty_Char)
new_compare113(x0, x1, True, x2, x3)
new_esEs26(x0, x1, ty_Float)
new_esEs7(Left(x0), Left(x1), ty_Int, x2)
new_compare5(:(x0, x1), [], x2)
new_lt10(x0, x1, app(ty_Maybe, x2))
new_lt20(x0, x1, ty_Double)
new_compare29(x0, x1, True)
new_compare11(:%(x0, x1), :%(x2, x3), ty_Int)
new_primCompAux00(x0, EQ)
new_ltEs9(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_primEqNat0(Zero, Zero)
new_ltEs9(Just(x0), Just(x1), ty_@0)
new_esEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_compare6(Float(x0, x1), Float(x2, x3))
new_ltEs10(Right(x0), Right(x1), x2, ty_Bool)
new_esEs12(:(x0, x1), :(x2, x3), x4)
new_esEs11(x0, x1, ty_Bool)
new_lt10(x0, x1, ty_Float)
new_esEs11(x0, x1, ty_Integer)
new_ltEs9(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs24(x0, x1, ty_Int)
new_esEs13(EQ, GT)
new_esEs13(GT, EQ)
new_ltEs19(x0, x1, ty_Char)
new_esEs8(EQ)
new_lt11(x0, x1, ty_Ordering)
new_esEs5(Nothing, Just(x0), x1)
new_primMulNat0(Zero, Zero)
new_primMulInt(Pos(x0), Pos(x1))
new_lt11(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Char)
new_ltEs9(Just(x0), Just(x1), app(ty_[], x2))
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_ltEs10(Left(x0), Left(x1), ty_Double, x2)
new_esEs7(Left(x0), Left(x1), ty_Double, x2)
new_primMulNat0(Succ(x0), Zero)
new_esEs11(x0, x1, ty_Double)
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_ltEs9(Just(x0), Just(x1), ty_Ordering)
new_lt6(x0, x1, x2)
new_lt10(x0, x1, app(ty_Ratio, x2))
new_compare28(x0, x1, False)
new_esEs7(Left(x0), Right(x1), x2, x3)
new_esEs7(Right(x0), Left(x1), x2, x3)
new_esEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_compare110(x0, x1, False, x2)
new_esEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_lt10(x0, x1, app(ty_[], x2))
new_esEs13(EQ, EQ)
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs15(GT, EQ)
new_ltEs15(EQ, GT)
new_compare23(x0, x1, False, x2, x3, x4)
new_ltEs10(Left(x0), Left(x1), ty_Char, x2)
new_primMulNat0(Succ(x0), Succ(x1))
new_compare114(x0, x1, True)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_ltEs18(x0, x1, ty_Ordering)
new_esEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_primPlusNat1(Succ(x0), Succ(x1))
new_ltEs9(Nothing, Just(x0), x1)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs23(x0, x1, ty_Bool)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, ty_Char)
new_compare5([], [], x0)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Double)
new_lt9(x0, x1)
new_lt11(x0, x1, ty_Char)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_asAs(False, x0)
new_esEs26(x0, x1, ty_Bool)
new_esEs7(Right(x0), Right(x1), x2, ty_Float)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, ty_Bool)
new_compare11(:%(x0, x1), :%(x2, x3), ty_Integer)
new_compare24(Char(x0), Char(x1))
new_compare26(x0, x1, False, x2, x3)
new_compare114(x0, x1, False)
new_ltEs15(LT, GT)
new_ltEs15(GT, LT)
new_ltEs15(GT, GT)
new_primMulNat0(Zero, Succ(x0))
new_esEs26(x0, x1, ty_@0)
new_ltEs9(Just(x0), Just(x1), ty_Int)
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt11(x0, x1, ty_@0)
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primPlusNat1(Zero, Zero)
new_not0
new_esEs5(Just(x0), Just(x1), ty_Ordering)
new_lt11(x0, x1, ty_Int)
new_lt20(x0, x1, ty_Int)
new_ltEs8(x0, x1)
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_compare111(x0, x1, True, x2, x3)
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt11(x0, x1, app(ty_Ratio, x2))
new_lt16(x0, x1, x2, x3)
new_lt14(x0, x1)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(x0, x1, ty_Integer)
new_compare112(x0, x1, False)
new_esEs22(x0, x1, app(ty_[], x2))
new_ltEs15(LT, LT)
new_esEs24(x0, x1, ty_Double)
new_esEs9(Integer(x0), Integer(x1))
new_esEs7(Right(x0), Right(x1), x2, ty_Int)
new_primEqNat0(Zero, Succ(x0))
new_esEs5(Just(x0), Just(x1), ty_Double)
new_compare26(x0, x1, True, x2, x3)
new_ltEs10(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_lt11(x0, x1, ty_Float)
new_lt7(x0, x1, x2, x3)
new_compare111(x0, x1, False, x2, x3)
new_lt13(x0, x1)
new_esEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs10(@0, @0)
new_primCmpNat0(Zero, Succ(x0))
new_compare16(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_not(GT)
new_esEs5(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs8(GT)
new_lt10(x0, x1, app(app(ty_Either, x2), x3))
new_compare17(x0, x1)
new_esEs27(x0, x1, app(ty_[], x2))
new_lt11(x0, x1, ty_Integer)
new_lt11(x0, x1, app(ty_Maybe, x2))
new_ltEs10(Left(x0), Left(x1), ty_Integer, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_@0)
new_compare8(Double(x0, x1), Double(x2, x3))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Neg(Zero), Pos(Zero))
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_primCompAux0(x0, x1, x2, x3)
new_ltEs12(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt20(x0, x1, ty_Ordering)
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs7(Right(x0), Right(x1), x2, ty_Char)
new_esEs27(x0, x1, ty_Float)
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_compare23(x0, x1, True, x2, x3, x4)
new_lt10(x0, x1, ty_Integer)
new_esEs12([], [], x0)
new_esEs7(Left(x0), Left(x1), ty_@0, x2)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs24(x0, x1, ty_@0)
new_esEs11(x0, x1, app(ty_[], x2))
new_esEs22(x0, x1, ty_Float)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(x0, x1)
new_primEqInt(Neg(Zero), Neg(Zero))
new_ltEs19(x0, x1, ty_Double)
new_esEs23(x0, x1, ty_@0)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs20(x0, x1, ty_Integer)
new_esEs5(Just(x0), Just(x1), app(ty_[], x2))
new_sr0(Integer(x0), Integer(x1))
new_pePe(False, x0, x1, x2, x3)
new_ltEs18(x0, x1, ty_@0)
new_esEs5(Just(x0), Just(x1), ty_@0)
new_ltEs18(x0, x1, ty_Double)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Left(x1), ty_Char, x2)
new_ltEs10(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs11(x0, x1, ty_Float)
new_compare112(x0, x1, True)
new_ltEs9(Just(x0), Just(x1), ty_Double)
new_esEs15(:%(x0, x1), :%(x2, x3), x4)
new_ltEs10(Right(x0), Right(x1), x2, ty_Int)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_lt12(x0, x1)
new_ltEs10(Right(x0), Right(x1), x2, ty_Integer)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs24(x0, x1, ty_Bool)
new_esEs20(x0, x1, ty_Int)
new_ltEs10(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_ltEs9(Just(x0), Just(x1), ty_Bool)
new_esEs5(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_ltEs19(x0, x1, ty_Float)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs25(x0, x1, ty_Ordering)
new_primPlusNat0(Zero, x0)
new_primPlusNat1(Succ(x0), Zero)
new_esEs12(:(x0, x1), [], x2)
new_esEs14(Char(x0), Char(x1))
new_ltEs9(Nothing, Nothing, x0)
new_compare16(x0, x1, ty_Bool)
new_esEs23(x0, x1, ty_Float)
new_ltEs9(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt20(x0, x1, ty_@0)
new_ltEs10(Right(x0), Right(x1), x2, ty_@0)
new_compare15(x0, x1, x2, x3, x4)
new_esEs25(x0, x1, ty_Bool)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs10(Right(x0), Right(x1), x2, ty_Float)
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, ty_Bool)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpNat0(Zero, Zero)
new_compare16(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_lt15(x0, x1, x2, x3, x4)
new_compare16(x0, x1, app(ty_[], x2))
new_compare29(x0, x1, False)
new_lt10(x0, x1, ty_@0)
new_esEs7(Left(x0), Left(x1), ty_Bool, x2)
new_compare27(x0, x1, False, x2, x3)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_lt11(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_esEs5(Just(x0), Just(x1), ty_Char)
new_compare28(x0, x1, True)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs25(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Char)
new_ltEs10(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(Just(x0), Just(x1), ty_Integer)
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs13(LT, LT)
new_ltEs10(Left(x0), Left(x1), ty_Float, x2)
new_ltEs18(x0, x1, ty_Integer)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_compare5(:(x0, x1), :(x2, x3), x4)
new_esEs25(x0, x1, ty_Integer)
new_ltEs9(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_compare9(@0, @0)
new_compare16(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs24(x0, x1, ty_Float)
new_compare13(Integer(x0), Integer(x1))
new_esEs11(x0, x1, ty_Int)
new_ltEs14(True, True)
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs7(Right(x0), Right(x1), x2, ty_Bool)
new_ltEs14(False, False)
new_compare16(x0, x1, ty_Float)
new_ltEs7(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs18(x0, x1, ty_Bool)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, ty_@0)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_esEs27(x0, x1, ty_@0)
new_compare25(x0, x1, True, x2)
new_lt10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_not(EQ)
new_compare16(x0, x1, ty_Double)
new_primPlusNat1(Zero, Succ(x0))
new_esEs13(LT, EQ)
new_esEs13(EQ, LT)
new_ltEs9(Just(x0), Nothing, x1)
new_esEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs23(x0, x1, app(ty_[], x2))
new_lt10(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, ty_Integer)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_esEs25(x0, x1, ty_Double)
new_compare27(x0, x1, True, x2, x3)
new_ltEs16(x0, x1, x2)
new_ltEs18(x0, x1, ty_Int)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_esEs23(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Bool)
new_esEs5(Just(x0), Just(x1), ty_Int)
new_esEs11(x0, x1, ty_@0)
new_ltEs10(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs18(x0, x1)
new_compare16(x0, x1, ty_@0)
new_esEs5(Nothing, Nothing, x0)
new_esEs25(x0, x1, ty_Char)
new_esEs5(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_lt19(x0, x1)
new_ltEs10(Left(x0), Left(x1), ty_@0, x2)
new_ltEs15(EQ, LT)
new_ltEs15(LT, EQ)
new_pePe(True, x0, x1, x2, x3)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_sr(x0, x1)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Int)
new_compare16(x0, x1, ty_Integer)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_compare16(x0, x1, app(app(ty_Either, x2), x3))
new_lt20(x0, x1, ty_Integer)
new_lt8(x0, x1)
new_esEs5(Just(x0), Nothing, x1)
new_ltEs15(EQ, EQ)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs22(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Ordering)
new_primEqNat0(Succ(x0), Zero)
new_compare12(x0, x1, x2, x3)
new_ltEs9(Just(x0), Just(x1), ty_Float)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_lt17(x0, x1)
new_ltEs10(Left(x0), Left(x1), ty_Bool, x2)
new_esEs23(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, ty_Int)
new_esEs26(x0, x1, ty_Ordering)
new_esEs17(False, True)
new_esEs17(True, False)
new_ltEs10(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_compare10(x0, x1, x2)
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_compare18(x0, x1, x2, x3)
new_esEs23(x0, x1, ty_Double)
new_ltEs10(Right(x0), Right(x1), x2, ty_Char)
new_ltEs9(Just(x0), Just(x1), app(ty_Maybe, x2))
new_lt11(x0, x1, app(app(ty_@2, x2), x3))
new_compare110(x0, x1, True, x2)
new_lt18(x0, x1, x2)
new_ltEs11(x0, x1)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs17(True, True)
new_esEs27(x0, x1, ty_Int)
new_esEs12([], :(x0, x1), x2)
new_esEs22(x0, x1, ty_Ordering)
new_esEs27(x0, x1, ty_Integer)
new_lt11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpNat0(Succ(x0), Succ(x1))
new_compare16(x0, x1, ty_Char)
new_ltEs13(x0, x1)
new_compare113(x0, x1, False, x2, x3)
new_ltEs10(Left(x0), Left(x1), app(ty_[], x2), x3)
new_primMulInt(Neg(x0), Neg(x1))
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_not(LT)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_lt10(x0, x1, ty_Bool)
new_primPlusNat0(Succ(x0), x1)
new_ltEs9(Just(x0), Just(x1), ty_Integer)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
QDP
                                ↳ QDPSizeChangeProof

Q DP problem:
The TRS P consists of the following rules:

new_foldl(vwx30, :(vwx310, vwx311), ba, bb) → new_foldl(new_min1(vwx30, vwx310, ba, bb), vwx311, ba, bb)

The TRS R consists of the following rules:

new_esEs26(vwx361, vwx371, ty_Char) → new_esEs14(vwx361, vwx371)
new_esEs23(vwx361, vwx371, app(app(ty_Either, bcf), bcg)) → new_esEs7(vwx361, vwx371, bcf, bcg)
new_esEs7(Left(vwx360), Left(vwx370), app(app(ty_Either, cbc), cbd), fb) → new_esEs7(vwx360, vwx370, cbc, cbd)
new_ltEs10(Left(vwx3000), Left(vwx31000), app(app(app(ty_@3, fh), ga), gb), fc) → new_ltEs7(vwx3000, vwx31000, fh, ga, gb)
new_compare16(vwx3000, vwx31000, app(ty_Maybe, ce)) → new_compare10(vwx3000, vwx31000, ce)
new_ltEs10(Left(vwx3000), Left(vwx31000), ty_Integer, fc) → new_ltEs13(vwx3000, vwx31000)
new_esEs24(vwx362, vwx372, app(ty_Ratio, bda)) → new_esEs15(vwx362, vwx372, bda)
new_ltEs15(EQ, LT) → False
new_ltEs19(vwx3001, vwx31001, app(ty_Ratio, dch)) → new_ltEs16(vwx3001, vwx31001, dch)
new_esEs26(vwx361, vwx371, app(ty_Ratio, ceb)) → new_esEs15(vwx361, vwx371, ceb)
new_lt20(vwx3000, vwx31000, app(ty_[], dbg)) → new_lt18(vwx3000, vwx31000, dbg)
new_ltEs10(Left(vwx3000), Right(vwx31000), gg, fc) → True
new_lt15(vwx3000, vwx31000, bg, bh, ca) → new_esEs8(new_compare15(vwx3000, vwx31000, bg, bh, ca))
new_compare29(vwx3000, vwx31000, False) → new_compare112(vwx3000, vwx31000, new_ltEs14(vwx3000, vwx31000))
new_esEs23(vwx361, vwx371, app(app(ty_@2, bcc), bcd)) → new_esEs4(vwx361, vwx371, bcc, bcd)
new_ltEs9(Just(vwx3000), Just(vwx31000), app(app(app(ty_@3, daf), dag), dah)) → new_ltEs7(vwx3000, vwx31000, daf, dag, dah)
new_ltEs9(Nothing, Just(vwx31000), cgg) → True
new_ltEs16(vwx300, vwx3100, cgh) → new_not(new_compare11(vwx300, vwx3100, cgh))
new_esEs11(vwx36, vwx37, ty_Ordering) → new_esEs13(vwx36, vwx37)
new_compare14(vwx3000, vwx31000, True, bg, bh, ca) → LT
new_ltEs19(vwx3001, vwx31001, ty_Double) → new_ltEs11(vwx3001, vwx31001)
new_ltEs15(EQ, EQ) → True
new_ltEs19(vwx3001, vwx31001, ty_Float) → new_ltEs4(vwx3001, vwx31001)
new_esEs23(vwx361, vwx371, ty_Float) → new_esEs16(vwx361, vwx371)
new_ltEs10(Left(vwx3000), Left(vwx31000), ty_Ordering, fc) → new_ltEs15(vwx3000, vwx31000)
new_esEs27(vwx360, vwx370, ty_Bool) → new_esEs17(vwx360, vwx370)
new_ltEs21(vwx300, vwx3100, ty_@0) → new_ltEs6(vwx300, vwx3100)
new_compare19(vwx3000, vwx31000) → new_compare28(vwx3000, vwx31000, new_esEs13(vwx3000, vwx31000))
new_primMulNat0(Zero, Zero) → Zero
new_lt11(vwx3001, vwx31001, app(app(ty_@2, bfg), bfh)) → new_lt7(vwx3001, vwx31001, bfg, bfh)
new_compare16(vwx3000, vwx31000, ty_Ordering) → new_compare19(vwx3000, vwx31000)
new_compare29(vwx3000, vwx31000, True) → EQ
new_compare15(vwx3000, vwx31000, bg, bh, ca) → new_compare23(vwx3000, vwx31000, new_esEs6(vwx3000, vwx31000, bg, bh, ca), bg, bh, ca)
new_ltEs21(vwx300, vwx3100, ty_Float) → new_ltEs4(vwx300, vwx3100)
new_esEs11(vwx36, vwx37, ty_Float) → new_esEs16(vwx36, vwx37)
new_esEs25(vwx360, vwx370, app(app(ty_@2, cdd), cde)) → new_esEs4(vwx360, vwx370, cdd, cde)
new_compare25(vwx3000, vwx31000, True, bc) → EQ
new_ltEs14(False, True) → True
new_esEs25(vwx360, vwx370, ty_Bool) → new_esEs17(vwx360, vwx370)
new_esEs13(EQ, EQ) → True
new_not(GT) → False
new_ltEs9(Just(vwx3000), Just(vwx31000), ty_Float) → new_ltEs4(vwx3000, vwx31000)
new_ltEs15(GT, LT) → False
new_esEs17(True, True) → True
new_esEs12([], [], ea) → True
new_ltEs10(Left(vwx3000), Left(vwx31000), ty_Double, fc) → new_ltEs11(vwx3000, vwx31000)
new_ltEs21(vwx300, vwx3100, ty_Int) → new_ltEs5(vwx300, vwx3100)
new_ltEs20(vwx300, vwx3100, app(app(ty_@2, cge), cgf)) → new_ltEs12(vwx300, vwx3100, cge, cgf)
new_ltEs11(vwx300, vwx3100) → new_not(new_compare8(vwx300, vwx3100))
new_ltEs10(Right(vwx3000), Right(vwx31000), gg, ty_Bool) → new_ltEs14(vwx3000, vwx31000)
new_ltEs10(Left(vwx3000), Left(vwx31000), app(ty_Ratio, ge), fc) → new_ltEs16(vwx3000, vwx31000, ge)
new_ltEs18(vwx3002, vwx31002, ty_Char) → new_ltEs8(vwx3002, vwx31002)
new_esEs5(Just(vwx360), Just(vwx370), app(ty_Maybe, dea)) → new_esEs5(vwx360, vwx370, dea)
new_esEs7(Left(vwx360), Left(vwx370), ty_Char, fb) → new_esEs14(vwx360, vwx370)
new_esEs22(vwx360, vwx370, ty_Integer) → new_esEs9(vwx360, vwx370)
new_ltEs9(Just(vwx3000), Just(vwx31000), ty_Ordering) → new_ltEs15(vwx3000, vwx31000)
new_ltEs21(vwx300, vwx3100, app(app(ty_@2, cha), chb)) → new_ltEs12(vwx300, vwx3100, cha, chb)
new_min10(vwx15, vwx16, True, bab, bac) → Right(vwx15)
new_lt20(vwx3000, vwx31000, ty_Float) → new_lt17(vwx3000, vwx31000)
new_esEs22(vwx360, vwx370, app(app(ty_Either, bbd), bbe)) → new_esEs7(vwx360, vwx370, bbd, bbe)
new_ltEs18(vwx3002, vwx31002, ty_Float) → new_ltEs4(vwx3002, vwx31002)
new_compare16(vwx3000, vwx31000, app(app(ty_Either, db), dc)) → new_compare18(vwx3000, vwx31000, db, dc)
new_esEs24(vwx362, vwx372, app(ty_[], bch)) → new_esEs12(vwx362, vwx372, bch)
new_lt20(vwx3000, vwx31000, ty_Bool) → new_lt14(vwx3000, vwx31000)
new_ltEs9(Just(vwx3000), Just(vwx31000), ty_Double) → new_ltEs11(vwx3000, vwx31000)
new_ltEs9(Just(vwx3000), Just(vwx31000), ty_Bool) → new_ltEs14(vwx3000, vwx31000)
new_lt5(vwx3000, vwx31000, bc) → new_esEs8(new_compare10(vwx3000, vwx31000, bc))
new_ltEs9(Just(vwx3000), Just(vwx31000), ty_Integer) → new_ltEs13(vwx3000, vwx31000)
new_lt16(vwx3000, vwx31000, df, dg) → new_esEs8(new_compare18(vwx3000, vwx31000, df, dg))
new_compare114(vwx3000, vwx31000, False) → GT
new_ltEs10(Left(vwx3000), Left(vwx31000), app(app(ty_@2, fd), ff), fc) → new_ltEs12(vwx3000, vwx31000, fd, ff)
new_esEs13(EQ, LT) → False
new_esEs13(LT, EQ) → False
new_ltEs19(vwx3001, vwx31001, ty_Ordering) → new_ltEs15(vwx3001, vwx31001)
new_ltEs18(vwx3002, vwx31002, app(app(app(ty_@3, bhd), bhe), bhf)) → new_ltEs7(vwx3002, vwx31002, bhd, bhe, bhf)
new_esEs27(vwx360, vwx370, ty_Int) → new_esEs18(vwx360, vwx370)
new_esEs7(Right(vwx360), Left(vwx370), fa, fb) → False
new_esEs7(Left(vwx360), Right(vwx370), fa, fb) → False
new_esEs12([], :(vwx370, vwx371), ea) → False
new_esEs12(:(vwx360, vwx361), [], ea) → False
new_ltEs10(Right(vwx3000), Right(vwx31000), gg, ty_Float) → new_ltEs4(vwx3000, vwx31000)
new_esEs22(vwx360, vwx370, ty_Ordering) → new_esEs13(vwx360, vwx370)
new_ltEs15(EQ, GT) → True
new_esEs27(vwx360, vwx370, app(app(ty_Either, cgc), cgd)) → new_esEs7(vwx360, vwx370, cgc, cgd)
new_lt11(vwx3001, vwx31001, app(ty_Maybe, bga)) → new_lt5(vwx3001, vwx31001, bga)
new_ltEs20(vwx300, vwx3100, app(ty_Ratio, cgh)) → new_ltEs16(vwx300, vwx3100, cgh)
new_esEs11(vwx36, vwx37, ty_Char) → new_esEs14(vwx36, vwx37)
new_compare8(Double(vwx3000, vwx3001), Double(vwx31000, vwx31001)) → new_compare7(new_sr(vwx3000, vwx31000), new_sr(vwx3001, vwx31001))
new_lt20(vwx3000, vwx31000, ty_Double) → new_lt12(vwx3000, vwx31000)
new_esEs7(Left(vwx360), Left(vwx370), ty_Double, fb) → new_esEs19(vwx360, vwx370)
new_ltEs10(Left(vwx3000), Left(vwx31000), ty_Float, fc) → new_ltEs4(vwx3000, vwx31000)
new_esEs22(vwx360, vwx370, app(app(ty_@2, bba), bbb)) → new_esEs4(vwx360, vwx370, bba, bbb)
new_ltEs17(vwx300, vwx3100, cb) → new_not(new_compare5(vwx300, vwx3100, cb))
new_compare23(vwx3000, vwx31000, True, bg, bh, ca) → EQ
new_ltEs10(Left(vwx3000), Left(vwx31000), app(app(ty_Either, gc), gd), fc) → new_ltEs10(vwx3000, vwx31000, gc, gd)
new_ltEs18(vwx3002, vwx31002, app(app(ty_Either, bhg), bhh)) → new_ltEs10(vwx3002, vwx31002, bhg, bhh)
new_esEs21(vwx361, vwx371, ty_Int) → new_esEs18(vwx361, vwx371)
new_esEs5(Just(vwx360), Just(vwx370), app(ty_[], ddb)) → new_esEs12(vwx360, vwx370, ddb)
new_ltEs9(Just(vwx3000), Just(vwx31000), app(app(ty_@2, dac), dad)) → new_ltEs12(vwx3000, vwx31000, dac, dad)
new_ltEs7(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), beb, bec, bed) → new_pePe(new_lt10(vwx3000, vwx31000, beb), vwx3000, vwx31000, new_pePe(new_lt11(vwx3001, vwx31001, bec), vwx3001, vwx31001, new_ltEs18(vwx3002, vwx31002, bed), bec), beb)
new_lt11(vwx3001, vwx31001, app(app(ty_Either, bge), bgf)) → new_lt16(vwx3001, vwx31001, bge, bgf)
new_min10(vwx15, vwx16, False, bab, bac) → Right(vwx16)
new_esEs18(vwx36, vwx37) → new_primEqInt(vwx36, vwx37)
new_lt20(vwx3000, vwx31000, app(app(ty_@2, be), bf)) → new_lt7(vwx3000, vwx31000, be, bf)
new_ltEs21(vwx300, vwx3100, app(app(app(ty_@3, chd), che), chf)) → new_ltEs7(vwx300, vwx3100, chd, che, chf)
new_ltEs10(Left(vwx3000), Left(vwx31000), ty_@0, fc) → new_ltEs6(vwx3000, vwx31000)
new_ltEs15(LT, LT) → True
new_primCmpNat0(Zero, Succ(vwx310000)) → LT
new_ltEs10(Left(vwx3000), Left(vwx31000), ty_Bool, fc) → new_ltEs14(vwx3000, vwx31000)
new_ltEs20(vwx300, vwx3100, ty_Bool) → new_ltEs14(vwx300, vwx3100)
new_ltEs18(vwx3002, vwx31002, ty_@0) → new_ltEs6(vwx3002, vwx31002)
new_esEs27(vwx360, vwx370, ty_@0) → new_esEs10(vwx360, vwx370)
new_compare6(Float(vwx3000, vwx3001), Float(vwx31000, vwx31001)) → new_compare7(new_sr(vwx3000, vwx31000), new_sr(vwx3001, vwx31001))
new_esEs11(vwx36, vwx37, app(app(app(ty_@3, ec), ed), ee)) → new_esEs6(vwx36, vwx37, ec, ed, ee)
new_lt20(vwx3000, vwx31000, ty_Char) → new_lt19(vwx3000, vwx31000)
new_ltEs21(vwx300, vwx3100, app(ty_[], dab)) → new_ltEs17(vwx300, vwx3100, dab)
new_esEs25(vwx360, vwx370, ty_Char) → new_esEs14(vwx360, vwx370)
new_ltEs19(vwx3001, vwx31001, app(app(ty_Either, dcf), dcg)) → new_ltEs10(vwx3001, vwx31001, dcf, dcg)
new_esEs23(vwx361, vwx371, ty_Double) → new_esEs19(vwx361, vwx371)
new_ltEs20(vwx300, vwx3100, app(ty_Maybe, cgg)) → new_ltEs9(vwx300, vwx3100, cgg)
new_esEs27(vwx360, vwx370, ty_Ordering) → new_esEs13(vwx360, vwx370)
new_esEs24(vwx362, vwx372, app(app(ty_Either, bdh), bea)) → new_esEs7(vwx362, vwx372, bdh, bea)
new_esEs7(Right(vwx360), Right(vwx370), fa, ty_Float) → new_esEs16(vwx360, vwx370)
new_compare16(vwx3000, vwx31000, ty_Bool) → new_compare17(vwx3000, vwx31000)
new_esEs22(vwx360, vwx370, ty_Int) → new_esEs18(vwx360, vwx370)
new_primEqNat0(Zero, Zero) → True
new_lt14(vwx3000, vwx31000) → new_esEs8(new_compare17(vwx3000, vwx31000))
new_compare111(vwx3000, vwx31000, False, df, dg) → GT
new_esEs5(Just(vwx360), Just(vwx370), app(app(ty_@2, ddg), ddh)) → new_esEs4(vwx360, vwx370, ddg, ddh)
new_compare25(vwx3000, vwx31000, False, bc) → new_compare110(vwx3000, vwx31000, new_ltEs9(vwx3000, vwx31000, bc), bc)
new_esEs13(GT, LT) → False
new_esEs13(LT, GT) → False
new_esEs23(vwx361, vwx371, ty_Integer) → new_esEs9(vwx361, vwx371)
new_ltEs21(vwx300, vwx3100, app(ty_Maybe, chc)) → new_ltEs9(vwx300, vwx3100, chc)
new_esEs23(vwx361, vwx371, ty_Char) → new_esEs14(vwx361, vwx371)
new_esEs17(False, False) → True
new_esEs17(False, True) → False
new_esEs17(True, False) → False
new_esEs5(Just(vwx360), Just(vwx370), app(ty_Ratio, ddc)) → new_esEs15(vwx360, vwx370, ddc)
new_ltEs18(vwx3002, vwx31002, ty_Int) → new_ltEs5(vwx3002, vwx31002)
new_esEs7(Right(vwx360), Right(vwx370), fa, app(app(app(ty_@3, cbg), cbh), cca)) → new_esEs6(vwx360, vwx370, cbg, cbh, cca)
new_sr(vwx3001, vwx31001) → new_primMulInt(vwx3001, vwx31001)
new_esEs24(vwx362, vwx372, ty_Bool) → new_esEs17(vwx362, vwx372)
new_lt4(vwx3000, vwx31000) → new_esEs8(new_compare7(vwx3000, vwx31000))
new_compare7(vwx300, vwx3100) → new_primCmpInt(vwx300, vwx3100)
new_lt10(vwx3000, vwx31000, ty_Int) → new_lt4(vwx3000, vwx31000)
new_esEs24(vwx362, vwx372, ty_Ordering) → new_esEs13(vwx362, vwx372)
new_ltEs15(GT, GT) → True
new_min11(vwx8, vwx9, True, dbe, dbf) → Left(vwx8)
new_esEs20(vwx360, vwx370, ty_Integer) → new_esEs9(vwx360, vwx370)
new_esEs25(vwx360, vwx370, ty_@0) → new_esEs10(vwx360, vwx370)
new_primPlusNat0(Succ(vwx660), vwx3100100) → Succ(Succ(new_primPlusNat1(vwx660, vwx3100100)))
new_ltEs20(vwx300, vwx3100, ty_@0) → new_ltEs6(vwx300, vwx3100)
new_esEs25(vwx360, vwx370, ty_Float) → new_esEs16(vwx360, vwx370)
new_esEs7(Right(vwx360), Right(vwx370), fa, app(app(ty_Either, cce), ccf)) → new_esEs7(vwx360, vwx370, cce, ccf)
new_esEs11(vwx36, vwx37, app(app(ty_@2, ef), eg)) → new_esEs4(vwx36, vwx37, ef, eg)
new_ltEs9(Just(vwx3000), Just(vwx31000), app(ty_[], dbd)) → new_ltEs17(vwx3000, vwx31000, dbd)
new_esEs26(vwx361, vwx371, app(app(app(ty_@3, cec), ced), cee)) → new_esEs6(vwx361, vwx371, cec, ced, cee)
new_ltEs19(vwx3001, vwx31001, app(ty_Maybe, dcb)) → new_ltEs9(vwx3001, vwx31001, dcb)
new_esEs25(vwx360, vwx370, app(ty_[], ccg)) → new_esEs12(vwx360, vwx370, ccg)
new_ltEs4(vwx300, vwx3100) → new_not(new_compare6(vwx300, vwx3100))
new_esEs22(vwx360, vwx370, ty_Char) → new_esEs14(vwx360, vwx370)
new_lt11(vwx3001, vwx31001, app(app(app(ty_@3, bgb), bgc), bgd)) → new_lt15(vwx3001, vwx31001, bgb, bgc, bgd)
new_lt20(vwx3000, vwx31000, ty_Ordering) → new_lt9(vwx3000, vwx31000)
new_primEqInt(Neg(Succ(vwx3600)), Neg(Succ(vwx3700))) → new_primEqNat0(vwx3600, vwx3700)
new_lt17(vwx3000, vwx31000) → new_esEs8(new_compare6(vwx3000, vwx31000))
new_esEs22(vwx360, vwx370, app(app(app(ty_@3, baf), bag), bah)) → new_esEs6(vwx360, vwx370, baf, bag, bah)
new_compare113(vwx3000, vwx31000, True, be, bf) → LT
new_ltEs21(vwx300, vwx3100, app(ty_Ratio, daa)) → new_ltEs16(vwx300, vwx3100, daa)
new_lt11(vwx3001, vwx31001, ty_Integer) → new_lt8(vwx3001, vwx31001)
new_primPlusNat1(Succ(vwx6600), Zero) → Succ(vwx6600)
new_primPlusNat1(Zero, Succ(vwx31001000)) → Succ(vwx31001000)
new_compare18(vwx3000, vwx31000, df, dg) → new_compare26(vwx3000, vwx31000, new_esEs7(vwx3000, vwx31000, df, dg), df, dg)
new_esEs19(Double(vwx360, vwx361), Double(vwx370, vwx371)) → new_esEs18(new_sr(vwx360, vwx370), new_sr(vwx361, vwx371))
new_lt11(vwx3001, vwx31001, ty_Bool) → new_lt14(vwx3001, vwx31001)
new_lt20(vwx3000, vwx31000, ty_Int) → new_lt4(vwx3000, vwx31000)
new_ltEs9(Just(vwx3000), Just(vwx31000), ty_@0) → new_ltEs6(vwx3000, vwx31000)
new_ltEs10(Right(vwx3000), Right(vwx31000), gg, ty_Ordering) → new_ltEs15(vwx3000, vwx31000)
new_ltEs21(vwx300, vwx3100, ty_Integer) → new_ltEs13(vwx300, vwx3100)
new_esEs25(vwx360, vwx370, ty_Int) → new_esEs18(vwx360, vwx370)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_ltEs5(vwx300, vwx3100) → new_not(new_compare7(vwx300, vwx3100))
new_esEs24(vwx362, vwx372, app(app(app(ty_@3, bdb), bdc), bdd)) → new_esEs6(vwx362, vwx372, bdb, bdc, bdd)
new_compare16(vwx3000, vwx31000, ty_Integer) → new_compare13(vwx3000, vwx31000)
new_esEs7(Right(vwx360), Right(vwx370), fa, app(ty_Maybe, ccd)) → new_esEs5(vwx360, vwx370, ccd)
new_esEs7(Right(vwx360), Right(vwx370), fa, app(ty_Ratio, cbf)) → new_esEs15(vwx360, vwx370, cbf)
new_compare12(vwx3000, vwx31000, be, bf) → new_compare27(vwx3000, vwx31000, new_esEs4(vwx3000, vwx31000, be, bf), be, bf)
new_esEs25(vwx360, vwx370, app(ty_Ratio, cch)) → new_esEs15(vwx360, vwx370, cch)
new_primEqInt(Neg(Succ(vwx3600)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(vwx3700))) → False
new_lt20(vwx3000, vwx31000, ty_Integer) → new_lt8(vwx3000, vwx31000)
new_ltEs9(Just(vwx3000), Just(vwx31000), app(app(ty_Either, dba), dbb)) → new_ltEs10(vwx3000, vwx31000, dba, dbb)
new_esEs5(Just(vwx360), Just(vwx370), ty_Float) → new_esEs16(vwx360, vwx370)
new_compare26(vwx3000, vwx31000, True, df, dg) → EQ
new_esEs24(vwx362, vwx372, ty_Integer) → new_esEs9(vwx362, vwx372)
new_compare11(:%(vwx3000, vwx3001), :%(vwx31000, vwx31001), ty_Integer) → new_compare13(new_sr0(vwx3000, vwx31001), new_sr0(vwx31000, vwx3001))
new_lt20(vwx3000, vwx31000, app(ty_Maybe, bc)) → new_lt5(vwx3000, vwx31000, bc)
new_esEs26(vwx361, vwx371, app(app(ty_Either, cfa), cfb)) → new_esEs7(vwx361, vwx371, cfa, cfb)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_ltEs15(LT, GT) → True
new_esEs5(Just(vwx360), Just(vwx370), ty_@0) → new_esEs10(vwx360, vwx370)
new_ltEs18(vwx3002, vwx31002, app(ty_Ratio, caa)) → new_ltEs16(vwx3002, vwx31002, caa)
new_primCmpNat0(Succ(vwx30000), Succ(vwx310000)) → new_primCmpNat0(vwx30000, vwx310000)
new_esEs9(Integer(vwx360), Integer(vwx370)) → new_primEqInt(vwx360, vwx370)
new_compare5(:(vwx3000, vwx3001), [], cb) → GT
new_compare112(vwx3000, vwx31000, True) → LT
new_ltEs18(vwx3002, vwx31002, ty_Integer) → new_ltEs13(vwx3002, vwx31002)
new_esEs13(LT, LT) → True
new_ltEs10(Right(vwx3000), Right(vwx31000), gg, ty_Char) → new_ltEs8(vwx3000, vwx31000)
new_compare16(vwx3000, vwx31000, app(ty_[], de)) → new_compare5(vwx3000, vwx31000, de)
new_primEqInt(Pos(Succ(vwx3600)), Pos(Succ(vwx3700))) → new_primEqNat0(vwx3600, vwx3700)
new_ltEs19(vwx3001, vwx31001, app(app(app(ty_@3, dcc), dcd), dce)) → new_ltEs7(vwx3001, vwx31001, dcc, dcd, dce)
new_compare27(vwx3000, vwx31000, True, be, bf) → EQ
new_esEs25(vwx360, vwx370, app(ty_Maybe, cdf)) → new_esEs5(vwx360, vwx370, cdf)
new_ltEs19(vwx3001, vwx31001, ty_Bool) → new_ltEs14(vwx3001, vwx31001)
new_ltEs18(vwx3002, vwx31002, app(ty_Maybe, bhc)) → new_ltEs9(vwx3002, vwx31002, bhc)
new_ltEs10(Right(vwx3000), Right(vwx31000), gg, app(ty_[], baa)) → new_ltEs17(vwx3000, vwx31000, baa)
new_esEs23(vwx361, vwx371, app(ty_[], bbf)) → new_esEs12(vwx361, vwx371, bbf)
new_esEs22(vwx360, vwx370, ty_Double) → new_esEs19(vwx360, vwx370)
new_compare16(vwx3000, vwx31000, ty_Char) → new_compare24(vwx3000, vwx31000)
new_ltEs20(vwx300, vwx3100, app(app(app(ty_@3, beb), bec), bed)) → new_ltEs7(vwx300, vwx3100, beb, bec, bed)
new_esEs24(vwx362, vwx372, ty_Int) → new_esEs18(vwx362, vwx372)
new_ltEs20(vwx300, vwx3100, app(ty_[], cb)) → new_ltEs17(vwx300, vwx3100, cb)
new_ltEs20(vwx300, vwx3100, ty_Int) → new_ltEs5(vwx300, vwx3100)
new_primEqNat0(Succ(vwx3600), Succ(vwx3700)) → new_primEqNat0(vwx3600, vwx3700)
new_ltEs14(False, False) → True
new_esEs7(Left(vwx360), Left(vwx370), ty_Integer, fb) → new_esEs9(vwx360, vwx370)
new_esEs7(Right(vwx360), Right(vwx370), fa, app(ty_[], cbe)) → new_esEs12(vwx360, vwx370, cbe)
new_compare113(vwx3000, vwx31000, False, be, bf) → GT
new_compare5(:(vwx3000, vwx3001), :(vwx31000, vwx31001), cb) → new_primCompAux0(vwx3000, vwx31000, new_compare5(vwx3001, vwx31001, cb), cb)
new_compare16(vwx3000, vwx31000, ty_Float) → new_compare6(vwx3000, vwx31000)
new_compare27(vwx3000, vwx31000, False, be, bf) → new_compare113(vwx3000, vwx31000, new_ltEs12(vwx3000, vwx31000, be, bf), be, bf)
new_primCompAux00(vwx52, LT) → LT
new_esEs27(vwx360, vwx370, app(ty_Ratio, cfd)) → new_esEs15(vwx360, vwx370, cfd)
new_esEs11(vwx36, vwx37, ty_Bool) → new_esEs17(vwx36, vwx37)
new_primCmpInt(Neg(Succ(vwx30000)), Neg(vwx31000)) → new_primCmpNat0(vwx31000, Succ(vwx30000))
new_ltEs19(vwx3001, vwx31001, app(ty_[], dda)) → new_ltEs17(vwx3001, vwx31001, dda)
new_esEs26(vwx361, vwx371, app(app(ty_@2, cef), ceg)) → new_esEs4(vwx361, vwx371, cef, ceg)
new_ltEs10(Right(vwx3000), Right(vwx31000), gg, app(app(ty_Either, hf), hg)) → new_ltEs10(vwx3000, vwx31000, hf, hg)
new_ltEs6(vwx300, vwx3100) → new_not(new_compare9(vwx300, vwx3100))
new_compare11(:%(vwx3000, vwx3001), :%(vwx31000, vwx31001), ty_Int) → new_compare7(new_sr(vwx3000, vwx31001), new_sr(vwx31000, vwx3001))
new_lt10(vwx3000, vwx31000, ty_Float) → new_lt17(vwx3000, vwx31000)
new_ltEs18(vwx3002, vwx31002, ty_Double) → new_ltEs11(vwx3002, vwx31002)
new_ltEs18(vwx3002, vwx31002, app(app(ty_@2, bha), bhb)) → new_ltEs12(vwx3002, vwx31002, bha, bhb)
new_primEqInt(Pos(Succ(vwx3600)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(vwx3700))) → False
new_esEs7(Right(vwx360), Right(vwx370), fa, ty_Double) → new_esEs19(vwx360, vwx370)
new_compare16(vwx3000, vwx31000, app(ty_Ratio, dd)) → new_compare11(vwx3000, vwx31000, dd)
new_ltEs20(vwx300, vwx3100, ty_Integer) → new_ltEs13(vwx300, vwx3100)
new_esEs24(vwx362, vwx372, ty_@0) → new_esEs10(vwx362, vwx372)
new_primCmpNat0(Zero, Zero) → EQ
new_esEs23(vwx361, vwx371, ty_Ordering) → new_esEs13(vwx361, vwx371)
new_primCmpNat0(Succ(vwx30000), Zero) → GT
new_ltEs9(Just(vwx3000), Just(vwx31000), app(ty_Maybe, dae)) → new_ltEs9(vwx3000, vwx31000, dae)
new_lt20(vwx3000, vwx31000, app(ty_Ratio, bd)) → new_lt6(vwx3000, vwx31000, bd)
new_lt19(vwx3000, vwx31000) → new_esEs8(new_compare24(vwx3000, vwx31000))
new_lt10(vwx3000, vwx31000, ty_@0) → new_lt13(vwx3000, vwx31000)
new_primCmpInt(Neg(Zero), Pos(Succ(vwx310000))) → LT
new_esEs8(LT) → True
new_compare9(@0, @0) → EQ
new_compare24(Char(vwx3000), Char(vwx31000)) → new_primCmpNat0(vwx3000, vwx31000)
new_ltEs9(Just(vwx3000), Just(vwx31000), app(ty_Ratio, dbc)) → new_ltEs16(vwx3000, vwx31000, dbc)
new_esEs27(vwx360, vwx370, ty_Integer) → new_esEs9(vwx360, vwx370)
new_compare14(vwx3000, vwx31000, False, bg, bh, ca) → GT
new_sr0(Integer(vwx310000), Integer(vwx30010)) → Integer(new_primMulInt(vwx310000, vwx30010))
new_primPlusNat1(Succ(vwx6600), Succ(vwx31001000)) → Succ(Succ(new_primPlusNat1(vwx6600, vwx31001000)))
new_ltEs19(vwx3001, vwx31001, app(app(ty_@2, dbh), dca)) → new_ltEs12(vwx3001, vwx31001, dbh, dca)
new_primEqInt(Pos(Succ(vwx3600)), Neg(vwx370)) → False
new_primEqInt(Neg(Succ(vwx3600)), Pos(vwx370)) → False
new_esEs7(Left(vwx360), Left(vwx370), app(ty_[], cac), fb) → new_esEs12(vwx360, vwx370, cac)
new_esEs24(vwx362, vwx372, app(app(ty_@2, bde), bdf)) → new_esEs4(vwx362, vwx372, bde, bdf)
new_ltEs10(Left(vwx3000), Left(vwx31000), app(ty_[], gf), fc) → new_ltEs17(vwx3000, vwx31000, gf)
new_esEs27(vwx360, vwx370, app(ty_Maybe, cgb)) → new_esEs5(vwx360, vwx370, cgb)
new_esEs7(Left(vwx360), Left(vwx370), ty_@0, fb) → new_esEs10(vwx360, vwx370)
new_esEs8(GT) → False
new_lt11(vwx3001, vwx31001, ty_Ordering) → new_lt9(vwx3001, vwx31001)
new_min11(vwx8, vwx9, False, dbe, dbf) → Left(vwx9)
new_lt10(vwx3000, vwx31000, app(app(ty_Either, bfc), bfd)) → new_lt16(vwx3000, vwx31000, bfc, bfd)
new_compare10(vwx3000, vwx31000, bc) → new_compare25(vwx3000, vwx31000, new_esEs5(vwx3000, vwx31000, bc), bc)
new_esEs4(@2(vwx360, vwx361), @2(vwx370, vwx371), ef, eg) → new_asAs(new_esEs25(vwx360, vwx370, ef), new_esEs26(vwx361, vwx371, eg))
new_primEqInt(Pos(Zero), Neg(Succ(vwx3700))) → False
new_primEqInt(Neg(Zero), Pos(Succ(vwx3700))) → False
new_ltEs9(Just(vwx3000), Nothing, cgg) → False
new_primCompAux0(vwx3000, vwx31000, vwx48, cb) → new_primCompAux00(vwx48, new_compare16(vwx3000, vwx31000, cb))
new_primCmpInt(Pos(Zero), Pos(Succ(vwx310000))) → new_primCmpNat0(Zero, Succ(vwx310000))
new_primCompAux00(vwx52, EQ) → vwx52
new_lt10(vwx3000, vwx31000, ty_Char) → new_lt19(vwx3000, vwx31000)
new_lt10(vwx3000, vwx31000, app(ty_[], bff)) → new_lt18(vwx3000, vwx31000, bff)
new_esEs23(vwx361, vwx371, ty_Int) → new_esEs18(vwx361, vwx371)
new_ltEs20(vwx300, vwx3100, ty_Ordering) → new_ltEs15(vwx300, vwx3100)
new_esEs11(vwx36, vwx37, ty_@0) → new_esEs10(vwx36, vwx37)
new_lt10(vwx3000, vwx31000, app(ty_Maybe, beg)) → new_lt5(vwx3000, vwx31000, beg)
new_lt12(vwx3000, vwx31000) → new_esEs8(new_compare8(vwx3000, vwx31000))
new_esEs26(vwx361, vwx371, ty_Float) → new_esEs16(vwx361, vwx371)
new_lt9(vwx3000, vwx31000) → new_esEs8(new_compare19(vwx3000, vwx31000))
new_esEs7(Right(vwx360), Right(vwx370), fa, ty_Int) → new_esEs18(vwx360, vwx370)
new_lt7(vwx3000, vwx31000, be, bf) → new_esEs8(new_compare12(vwx3000, vwx31000, be, bf))
new_ltEs19(vwx3001, vwx31001, ty_Char) → new_ltEs8(vwx3001, vwx31001)
new_esEs15(:%(vwx360, vwx361), :%(vwx370, vwx371), eb) → new_asAs(new_esEs20(vwx360, vwx370, eb), new_esEs21(vwx361, vwx371, eb))
new_esEs7(Left(vwx360), Left(vwx370), ty_Int, fb) → new_esEs18(vwx360, vwx370)
new_compare110(vwx3000, vwx31000, True, bc) → LT
new_primPlusNat0(Zero, vwx3100100) → Succ(vwx3100100)
new_primCmpInt(Pos(Succ(vwx30000)), Pos(vwx31000)) → new_primCmpNat0(Succ(vwx30000), vwx31000)
new_esEs5(Just(vwx360), Just(vwx370), ty_Char) → new_esEs14(vwx360, vwx370)
new_esEs7(Right(vwx360), Right(vwx370), fa, ty_Bool) → new_esEs17(vwx360, vwx370)
new_ltEs10(Right(vwx3000), Right(vwx31000), gg, ty_Integer) → new_ltEs13(vwx3000, vwx31000)
new_ltEs9(Nothing, Nothing, cgg) → True
new_esEs22(vwx360, vwx370, ty_Bool) → new_esEs17(vwx360, vwx370)
new_ltEs13(vwx300, vwx3100) → new_not(new_compare13(vwx300, vwx3100))
new_lt20(vwx3000, vwx31000, app(app(app(ty_@3, bg), bh), ca)) → new_lt15(vwx3000, vwx31000, bg, bh, ca)
new_compare16(vwx3000, vwx31000, ty_Int) → new_compare7(vwx3000, vwx31000)
new_esEs26(vwx361, vwx371, ty_Int) → new_esEs18(vwx361, vwx371)
new_lt20(vwx3000, vwx31000, app(app(ty_Either, df), dg)) → new_lt16(vwx3000, vwx31000, df, dg)
new_not0True
new_ltEs8(vwx300, vwx3100) → new_not(new_compare24(vwx300, vwx3100))
new_pePe(False, vwx36, vwx37, vwx38, dh) → new_asAs(new_esEs11(vwx36, vwx37, dh), vwx38)
new_compare28(vwx3000, vwx31000, True) → EQ
new_esEs24(vwx362, vwx372, app(ty_Maybe, bdg)) → new_esEs5(vwx362, vwx372, bdg)
new_esEs23(vwx361, vwx371, ty_@0) → new_esEs10(vwx361, vwx371)
new_esEs20(vwx360, vwx370, ty_Int) → new_esEs18(vwx360, vwx370)
new_primCmpInt(Pos(Succ(vwx30000)), Neg(vwx31000)) → GT
new_ltEs15(LT, EQ) → True
new_esEs7(Right(vwx360), Right(vwx370), fa, ty_Integer) → new_esEs9(vwx360, vwx370)
new_esEs11(vwx36, vwx37, app(ty_Maybe, eh)) → new_esEs5(vwx36, vwx37, eh)
new_min1(Left(vwx300), Left(vwx3100), ba, bb) → new_min11(vwx300, vwx3100, new_ltEs20(vwx300, vwx3100, ba), ba, bb)
new_primMulInt(Pos(vwx30010), Pos(vwx310010)) → Pos(new_primMulNat0(vwx30010, vwx310010))
new_esEs26(vwx361, vwx371, ty_@0) → new_esEs10(vwx361, vwx371)
new_esEs5(Just(vwx360), Just(vwx370), ty_Bool) → new_esEs17(vwx360, vwx370)
new_compare16(vwx3000, vwx31000, ty_Double) → new_compare8(vwx3000, vwx31000)
new_primMulInt(Neg(vwx30010), Neg(vwx310010)) → Pos(new_primMulNat0(vwx30010, vwx310010))
new_esEs7(Right(vwx360), Right(vwx370), fa, app(app(ty_@2, ccb), ccc)) → new_esEs4(vwx360, vwx370, ccb, ccc)
new_esEs13(GT, GT) → True
new_lt10(vwx3000, vwx31000, app(app(ty_@2, bee), bef)) → new_lt7(vwx3000, vwx31000, bee, bef)
new_ltEs19(vwx3001, vwx31001, ty_Int) → new_ltEs5(vwx3001, vwx31001)
new_ltEs10(Left(vwx3000), Left(vwx31000), ty_Char, fc) → new_ltEs8(vwx3000, vwx31000)
new_primEqNat0(Succ(vwx3600), Zero) → False
new_primEqNat0(Zero, Succ(vwx3700)) → False
new_ltEs10(Right(vwx3000), Right(vwx31000), gg, app(app(app(ty_@3, hc), hd), he)) → new_ltEs7(vwx3000, vwx31000, hc, hd, he)
new_esEs27(vwx360, vwx370, ty_Char) → new_esEs14(vwx360, vwx370)
new_ltEs19(vwx3001, vwx31001, ty_@0) → new_ltEs6(vwx3001, vwx31001)
new_ltEs14(True, True) → True
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs22(vwx360, vwx370, app(ty_Ratio, bae)) → new_esEs15(vwx360, vwx370, bae)
new_esEs27(vwx360, vwx370, app(app(app(ty_@3, cfe), cff), cfg)) → new_esEs6(vwx360, vwx370, cfe, cff, cfg)
new_esEs11(vwx36, vwx37, ty_Int) → new_esEs18(vwx36, vwx37)
new_ltEs18(vwx3002, vwx31002, app(ty_[], cab)) → new_ltEs17(vwx3002, vwx31002, cab)
new_lt10(vwx3000, vwx31000, ty_Bool) → new_lt14(vwx3000, vwx31000)
new_lt11(vwx3001, vwx31001, ty_Float) → new_lt17(vwx3001, vwx31001)
new_lt6(vwx3000, vwx31000, bd) → new_esEs8(new_compare11(vwx3000, vwx31000, bd))
new_lt10(vwx3000, vwx31000, app(ty_Ratio, bfe)) → new_lt6(vwx3000, vwx31000, bfe)
new_esEs5(Just(vwx360), Just(vwx370), ty_Ordering) → new_esEs13(vwx360, vwx370)
new_ltEs20(vwx300, vwx3100, ty_Float) → new_ltEs4(vwx300, vwx3100)
new_ltEs20(vwx300, vwx3100, app(app(ty_Either, gg), fc)) → new_ltEs10(vwx300, vwx3100, gg, fc)
new_esEs26(vwx361, vwx371, app(ty_Maybe, ceh)) → new_esEs5(vwx361, vwx371, ceh)
new_pePe(True, vwx36, vwx37, vwx38, dh) → True
new_esEs22(vwx360, vwx370, ty_@0) → new_esEs10(vwx360, vwx370)
new_esEs24(vwx362, vwx372, ty_Double) → new_esEs19(vwx362, vwx372)
new_esEs5(Just(vwx360), Just(vwx370), ty_Double) → new_esEs19(vwx360, vwx370)
new_ltEs21(vwx300, vwx3100, ty_Ordering) → new_ltEs15(vwx300, vwx3100)
new_esEs16(Float(vwx360, vwx361), Float(vwx370, vwx371)) → new_esEs18(new_sr(vwx360, vwx370), new_sr(vwx361, vwx371))
new_primCmpInt(Neg(Zero), Neg(Succ(vwx310000))) → new_primCmpNat0(Succ(vwx310000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(vwx310000))) → GT
new_esEs23(vwx361, vwx371, ty_Bool) → new_esEs17(vwx361, vwx371)
new_esEs7(Left(vwx360), Left(vwx370), app(app(ty_@2, cah), cba), fb) → new_esEs4(vwx360, vwx370, cah, cba)
new_compare110(vwx3000, vwx31000, False, bc) → GT
new_esEs6(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), ec, ed, ee) → new_asAs(new_esEs22(vwx360, vwx370, ec), new_asAs(new_esEs23(vwx361, vwx371, ed), new_esEs24(vwx362, vwx372, ee)))
new_ltEs20(vwx300, vwx3100, ty_Char) → new_ltEs8(vwx300, vwx3100)
new_esEs5(Just(vwx360), Just(vwx370), app(app(app(ty_@3, ddd), dde), ddf)) → new_esEs6(vwx360, vwx370, ddd, dde, ddf)
new_lt11(vwx3001, vwx31001, ty_Char) → new_lt19(vwx3001, vwx31001)
new_esEs7(Right(vwx360), Right(vwx370), fa, ty_Char) → new_esEs14(vwx360, vwx370)
new_esEs11(vwx36, vwx37, app(ty_Ratio, eb)) → new_esEs15(vwx36, vwx37, eb)
new_ltEs21(vwx300, vwx3100, app(app(ty_Either, chg), chh)) → new_ltEs10(vwx300, vwx3100, chg, chh)
new_esEs11(vwx36, vwx37, app(app(ty_Either, fa), fb)) → new_esEs7(vwx36, vwx37, fa, fb)
new_lt11(vwx3001, vwx31001, ty_@0) → new_lt13(vwx3001, vwx31001)
new_compare5([], :(vwx31000, vwx31001), cb) → LT
new_compare26(vwx3000, vwx31000, False, df, dg) → new_compare111(vwx3000, vwx31000, new_ltEs10(vwx3000, vwx31000, df, dg), df, dg)
new_lt18(vwx3000, vwx31000, dbg) → new_esEs8(new_compare5(vwx3000, vwx31000, dbg))
new_lt13(vwx3000, vwx31000) → new_esEs8(new_compare9(vwx3000, vwx31000))
new_compare17(vwx3000, vwx31000) → new_compare29(vwx3000, vwx31000, new_esEs17(vwx3000, vwx31000))
new_esEs23(vwx361, vwx371, app(ty_Ratio, bbg)) → new_esEs15(vwx361, vwx371, bbg)
new_lt11(vwx3001, vwx31001, app(ty_Ratio, bgg)) → new_lt6(vwx3001, vwx31001, bgg)
new_ltEs10(Right(vwx3000), Right(vwx31000), gg, app(app(ty_@2, gh), ha)) → new_ltEs12(vwx3000, vwx31000, gh, ha)
new_ltEs10(Left(vwx3000), Left(vwx31000), app(ty_Maybe, fg), fc) → new_ltEs9(vwx3000, vwx31000, fg)
new_esEs10(@0, @0) → True
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_ltEs21(vwx300, vwx3100, ty_Char) → new_ltEs8(vwx300, vwx3100)
new_lt20(vwx3000, vwx31000, ty_@0) → new_lt13(vwx3000, vwx31000)
new_compare16(vwx3000, vwx31000, ty_@0) → new_compare9(vwx3000, vwx31000)
new_asAs(False, vwx47) → False
new_lt11(vwx3001, vwx31001, ty_Double) → new_lt12(vwx3001, vwx31001)
new_esEs5(Just(vwx360), Just(vwx370), ty_Int) → new_esEs18(vwx360, vwx370)
new_esEs5(Just(vwx360), Just(vwx370), app(app(ty_Either, deb), dec)) → new_esEs7(vwx360, vwx370, deb, dec)
new_primMulInt(Neg(vwx30010), Pos(vwx310010)) → Neg(new_primMulNat0(vwx30010, vwx310010))
new_primMulInt(Pos(vwx30010), Neg(vwx310010)) → Neg(new_primMulNat0(vwx30010, vwx310010))
new_primMulNat0(Zero, Succ(vwx3100100)) → Zero
new_primMulNat0(Succ(vwx300100), Zero) → Zero
new_esEs13(GT, EQ) → False
new_esEs13(EQ, GT) → False
new_esEs7(Left(vwx360), Left(vwx370), app(ty_Ratio, cad), fb) → new_esEs15(vwx360, vwx370, cad)
new_esEs23(vwx361, vwx371, app(app(app(ty_@3, bbh), bca), bcb)) → new_esEs6(vwx361, vwx371, bbh, bca, bcb)
new_esEs26(vwx361, vwx371, app(ty_[], cea)) → new_esEs12(vwx361, vwx371, cea)
new_esEs11(vwx36, vwx37, app(ty_[], ea)) → new_esEs12(vwx36, vwx37, ea)
new_lt11(vwx3001, vwx31001, app(ty_[], bgh)) → new_lt18(vwx3001, vwx31001, bgh)
new_ltEs20(vwx300, vwx3100, ty_Double) → new_ltEs11(vwx300, vwx3100)
new_esEs5(Just(vwx360), Just(vwx370), ty_Integer) → new_esEs9(vwx360, vwx370)
new_ltEs21(vwx300, vwx3100, ty_Bool) → new_ltEs14(vwx300, vwx3100)
new_not(EQ) → new_not0
new_ltEs18(vwx3002, vwx31002, ty_Bool) → new_ltEs14(vwx3002, vwx31002)
new_compare16(vwx3000, vwx31000, app(app(ty_@2, cc), cd)) → new_compare12(vwx3000, vwx31000, cc, cd)
new_esEs21(vwx361, vwx371, ty_Integer) → new_esEs9(vwx361, vwx371)
new_esEs23(vwx361, vwx371, app(ty_Maybe, bce)) → new_esEs5(vwx361, vwx371, bce)
new_ltEs10(Right(vwx3000), Right(vwx31000), gg, app(ty_Ratio, hh)) → new_ltEs16(vwx3000, vwx31000, hh)
new_lt11(vwx3001, vwx31001, ty_Int) → new_lt4(vwx3001, vwx31001)
new_esEs25(vwx360, vwx370, app(app(app(ty_@3, cda), cdb), cdc)) → new_esEs6(vwx360, vwx370, cda, cdb, cdc)
new_esEs26(vwx361, vwx371, ty_Integer) → new_esEs9(vwx361, vwx371)
new_compare28(vwx3000, vwx31000, False) → new_compare114(vwx3000, vwx31000, new_ltEs15(vwx3000, vwx31000))
new_ltEs9(Just(vwx3000), Just(vwx31000), ty_Int) → new_ltEs5(vwx3000, vwx31000)
new_lt10(vwx3000, vwx31000, app(app(app(ty_@3, beh), bfa), bfb)) → new_lt15(vwx3000, vwx31000, beh, bfa, bfb)
new_ltEs10(Left(vwx3000), Left(vwx31000), ty_Int, fc) → new_ltEs5(vwx3000, vwx31000)
new_esEs7(Left(vwx360), Left(vwx370), app(app(app(ty_@3, cae), caf), cag), fb) → new_esEs6(vwx360, vwx370, cae, caf, cag)
new_esEs26(vwx361, vwx371, ty_Double) → new_esEs19(vwx361, vwx371)
new_ltEs9(Just(vwx3000), Just(vwx31000), ty_Char) → new_ltEs8(vwx3000, vwx31000)
new_esEs22(vwx360, vwx370, app(ty_[], bad)) → new_esEs12(vwx360, vwx370, bad)
new_esEs5(Nothing, Just(vwx370), eh) → False
new_esEs5(Just(vwx360), Nothing, eh) → False
new_esEs14(Char(vwx360), Char(vwx370)) → new_primEqNat0(vwx360, vwx370)
new_compare23(vwx3000, vwx31000, False, bg, bh, ca) → new_compare14(vwx3000, vwx31000, new_ltEs7(vwx3000, vwx31000, bg, bh, ca), bg, bh, ca)
new_esEs22(vwx360, vwx370, ty_Float) → new_esEs16(vwx360, vwx370)
new_esEs11(vwx36, vwx37, ty_Double) → new_esEs19(vwx36, vwx37)
new_esEs27(vwx360, vwx370, app(app(ty_@2, cfh), cga)) → new_esEs4(vwx360, vwx370, cfh, cga)
new_esEs11(vwx36, vwx37, ty_Integer) → new_esEs9(vwx36, vwx37)
new_ltEs14(True, False) → False
new_esEs26(vwx361, vwx371, ty_Bool) → new_esEs17(vwx361, vwx371)
new_ltEs10(Right(vwx3000), Left(vwx31000), gg, fc) → False
new_not(LT) → new_not0
new_compare13(Integer(vwx3000), Integer(vwx31000)) → new_primCmpInt(vwx3000, vwx31000)
new_ltEs18(vwx3002, vwx31002, ty_Ordering) → new_ltEs15(vwx3002, vwx31002)
new_esEs5(Nothing, Nothing, eh) → True
new_ltEs10(Right(vwx3000), Right(vwx31000), gg, app(ty_Maybe, hb)) → new_ltEs9(vwx3000, vwx31000, hb)
new_esEs7(Left(vwx360), Left(vwx370), app(ty_Maybe, cbb), fb) → new_esEs5(vwx360, vwx370, cbb)
new_compare112(vwx3000, vwx31000, False) → GT
new_esEs7(Left(vwx360), Left(vwx370), ty_Bool, fb) → new_esEs17(vwx360, vwx370)
new_lt8(vwx3000, vwx31000) → new_esEs8(new_compare13(vwx3000, vwx31000))
new_lt10(vwx3000, vwx31000, ty_Integer) → new_lt8(vwx3000, vwx31000)
new_ltEs21(vwx300, vwx3100, ty_Double) → new_ltEs11(vwx300, vwx3100)
new_esEs8(EQ) → False
new_esEs25(vwx360, vwx370, ty_Double) → new_esEs19(vwx360, vwx370)
new_esEs22(vwx360, vwx370, app(ty_Maybe, bbc)) → new_esEs5(vwx360, vwx370, bbc)
new_esEs12(:(vwx360, vwx361), :(vwx370, vwx371), ea) → new_asAs(new_esEs27(vwx360, vwx370, ea), new_esEs12(vwx361, vwx371, ea))
new_compare111(vwx3000, vwx31000, True, df, dg) → LT
new_primPlusNat1(Zero, Zero) → Zero
new_esEs24(vwx362, vwx372, ty_Float) → new_esEs16(vwx362, vwx372)
new_asAs(True, vwx47) → vwx47
new_ltEs15(GT, EQ) → False
new_esEs27(vwx360, vwx370, app(ty_[], cfc)) → new_esEs12(vwx360, vwx370, cfc)
new_primMulNat0(Succ(vwx300100), Succ(vwx3100100)) → new_primPlusNat0(new_primMulNat0(vwx300100, Succ(vwx3100100)), vwx3100100)
new_esEs27(vwx360, vwx370, ty_Float) → new_esEs16(vwx360, vwx370)
new_compare16(vwx3000, vwx31000, app(app(app(ty_@3, cf), cg), da)) → new_compare15(vwx3000, vwx31000, cf, cg, da)
new_lt10(vwx3000, vwx31000, ty_Ordering) → new_lt9(vwx3000, vwx31000)
new_min1(Left(vwx300), Right(vwx3100), ba, bb) → Left(vwx300)
new_ltEs10(Right(vwx3000), Right(vwx31000), gg, ty_Double) → new_ltEs11(vwx3000, vwx31000)
new_esEs25(vwx360, vwx370, ty_Ordering) → new_esEs13(vwx360, vwx370)
new_ltEs19(vwx3001, vwx31001, ty_Integer) → new_ltEs13(vwx3001, vwx31001)
new_esEs7(Right(vwx360), Right(vwx370), fa, ty_Ordering) → new_esEs13(vwx360, vwx370)
new_compare5([], [], cb) → EQ
new_lt10(vwx3000, vwx31000, ty_Double) → new_lt12(vwx3000, vwx31000)
new_esEs24(vwx362, vwx372, ty_Char) → new_esEs14(vwx362, vwx372)
new_esEs7(Left(vwx360), Left(vwx370), ty_Ordering, fb) → new_esEs13(vwx360, vwx370)
new_min1(Right(vwx300), Left(vwx3100), ba, bb) → Left(vwx3100)
new_ltEs10(Right(vwx3000), Right(vwx31000), gg, ty_@0) → new_ltEs6(vwx3000, vwx31000)
new_compare114(vwx3000, vwx31000, True) → LT
new_ltEs10(Right(vwx3000), Right(vwx31000), gg, ty_Int) → new_ltEs5(vwx3000, vwx31000)
new_primCompAux00(vwx52, GT) → GT
new_esEs25(vwx360, vwx370, app(app(ty_Either, cdg), cdh)) → new_esEs7(vwx360, vwx370, cdg, cdh)
new_esEs7(Left(vwx360), Left(vwx370), ty_Float, fb) → new_esEs16(vwx360, vwx370)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs7(Right(vwx360), Right(vwx370), fa, ty_@0) → new_esEs10(vwx360, vwx370)
new_ltEs12(@2(vwx3000, vwx3001), @2(vwx31000, vwx31001), cge, cgf) → new_pePe(new_lt20(vwx3000, vwx31000, cge), vwx3000, vwx31000, new_ltEs19(vwx3001, vwx31001, cgf), cge)
new_esEs26(vwx361, vwx371, ty_Ordering) → new_esEs13(vwx361, vwx371)
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primCmpInt(Neg(Succ(vwx30000)), Pos(vwx31000)) → LT
new_esEs25(vwx360, vwx370, ty_Integer) → new_esEs9(vwx360, vwx370)
new_min1(Right(vwx300), Right(vwx3100), ba, bb) → new_min10(vwx300, vwx3100, new_ltEs21(vwx300, vwx3100, bb), ba, bb)
new_esEs27(vwx360, vwx370, ty_Double) → new_esEs19(vwx360, vwx370)

The set Q consists of the following terms:

new_ltEs12(@2(x0, x1), @2(x2, x3), x4, x5)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_esEs7(Left(x0), Left(x1), ty_Bool, x2)
new_min10(x0, x1, True, x2, x3)
new_esEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs26(x0, x1, ty_Integer)
new_esEs22(x0, x1, ty_Double)
new_esEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs7(Right(x0), Right(x1), x2, ty_Integer)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Float)
new_compare7(x0, x1)
new_compare25(x0, x1, False, x2)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs24(x0, x1, ty_Char)
new_ltEs9(Just(x0), Just(x1), ty_Char)
new_lt10(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_Integer)
new_esEs23(x0, x1, ty_Int)
new_ltEs5(x0, x1)
new_pePe(True, x0, x1, x2, x3)
new_esEs19(Double(x0, x1), Double(x2, x3))
new_primCmpNat0(Succ(x0), Zero)
new_lt10(x0, x1, ty_Ordering)
new_compare110(x0, x1, False, x2)
new_esEs11(x0, x1, ty_Ordering)
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs10(Left(x0), Left(x1), ty_Float, x2)
new_ltEs10(Left(x0), Left(x1), ty_Bool, x2)
new_esEs13(GT, GT)
new_esEs22(x0, x1, ty_Int)
new_ltEs6(x0, x1)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(Left(x0), Left(x1), ty_Float, x2)
new_ltEs9(Nothing, Nothing, x0)
new_ltEs10(Left(x0), Left(x1), ty_@0, x2)
new_ltEs10(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt11(x0, x1, ty_Double)
new_esEs5(Just(x0), Just(x1), ty_Float)
new_min1(Right(x0), Left(x1), x2, x3)
new_min1(Left(x0), Right(x1), x2, x3)
new_esEs21(x0, x1, ty_Int)
new_lt10(x0, x1, ty_Char)
new_lt11(x0, x1, ty_Bool)
new_compare16(x0, x1, app(ty_Maybe, x2))
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_esEs8(LT)
new_ltEs14(True, False)
new_ltEs14(False, True)
new_esEs25(x0, x1, app(ty_[], x2))
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs24(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_min11(x0, x1, False, x2, x3)
new_compare5([], [], x0)
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, ty_Float)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_lt10(x0, x1, ty_Double)
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_compare16(x0, x1, ty_Int)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_lt10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, ty_@0)
new_esEs24(x0, x1, ty_Integer)
new_lt4(x0, x1)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs16(Float(x0, x1), Float(x2, x3))
new_esEs22(x0, x1, ty_Char)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_primCompAux00(x0, GT)
new_ltEs18(x0, x1, app(ty_[], x2))
new_min1(Left(x0), Left(x1), x2, x3)
new_esEs17(False, False)
new_compare113(x0, x1, True, x2, x3)
new_ltEs19(x0, x1, ty_Ordering)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_esEs25(x0, x1, ty_Int)
new_asAs(True, x0)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Right(x1), x2, x3)
new_esEs7(Right(x0), Left(x1), x2, x3)
new_esEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_compare19(x0, x1)
new_ltEs9(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, ty_Integer)
new_ltEs18(x0, x1, ty_Float)
new_ltEs9(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs9(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs5(Just(x0), Just(x1), ty_Bool)
new_compare18(x0, x1, x2, x3)
new_esEs13(GT, LT)
new_esEs13(LT, GT)
new_ltEs18(x0, x1, ty_Char)
new_primCompAux00(x0, LT)
new_lt20(x0, x1, ty_Char)
new_min11(x0, x1, True, x2, x3)
new_compare111(x0, x1, False, x2, x3)
new_esEs26(x0, x1, ty_Float)
new_ltEs17(x0, x1, x2)
new_esEs12([], [], x0)
new_lt20(x0, x1, ty_Double)
new_compare29(x0, x1, True)
new_compare11(:%(x0, x1), :%(x2, x3), ty_Int)
new_ltEs10(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_compare5(:(x0, x1), :(x2, x3), x4)
new_primCompAux00(x0, EQ)
new_lt6(x0, x1, x2)
new_primEqNat0(Zero, Zero)
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_ltEs9(Just(x0), Just(x1), ty_@0)
new_compare6(Float(x0, x1), Float(x2, x3))
new_ltEs10(Left(x0), Left(x1), ty_Char, x2)
new_esEs11(x0, x1, ty_Bool)
new_lt10(x0, x1, ty_Float)
new_esEs11(x0, x1, ty_Integer)
new_pePe(False, x0, x1, x2, x3)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs13(GT, EQ)
new_esEs13(EQ, GT)
new_esEs24(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_Char)
new_esEs8(EQ)
new_lt11(x0, x1, ty_Ordering)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, app(ty_[], x2))
new_primMulNat0(Zero, Zero)
new_esEs7(Left(x0), Left(x1), ty_Double, x2)
new_primMulInt(Pos(x0), Pos(x1))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(Nothing, Just(x0), x1)
new_esEs26(x0, x1, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, ty_@0)
new_primMulNat0(Succ(x0), Zero)
new_compare10(x0, x1, x2)
new_esEs11(x0, x1, ty_Double)
new_compare23(x0, x1, False, x2, x3, x4)
new_ltEs20(x0, x1, ty_Bool)
new_ltEs10(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs9(Just(x0), Just(x1), ty_Ordering)
new_compare28(x0, x1, False)
new_lt11(x0, x1, app(ty_Maybe, x2))
new_esEs7(Right(x0), Right(x1), x2, ty_Bool)
new_esEs13(EQ, EQ)
new_ltEs15(GT, EQ)
new_ltEs15(EQ, GT)
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_primMulNat0(Succ(x0), Succ(x1))
new_compare114(x0, x1, True)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_ltEs18(x0, x1, ty_Ordering)
new_ltEs10(Left(x0), Left(x1), ty_Ordering, x2)
new_lt11(x0, x1, app(app(ty_Either, x2), x3))
new_esEs12([], :(x0, x1), x2)
new_ltEs19(x0, x1, app(ty_[], x2))
new_primPlusNat1(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_esEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs23(x0, x1, ty_Bool)
new_compare113(x0, x1, False, x2, x3)
new_esEs7(Right(x0), Right(x1), x2, ty_Double)
new_esEs11(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Double)
new_lt9(x0, x1)
new_lt11(x0, x1, ty_Char)
new_esEs15(:%(x0, x1), :%(x2, x3), x4)
new_asAs(False, x0)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs26(x0, x1, ty_Bool)
new_lt15(x0, x1, x2, x3, x4)
new_lt16(x0, x1, x2, x3)
new_ltEs10(Right(x0), Left(x1), x2, x3)
new_ltEs10(Left(x0), Right(x1), x2, x3)
new_ltEs19(x0, x1, ty_Bool)
new_esEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_compare11(:%(x0, x1), :%(x2, x3), ty_Integer)
new_compare15(x0, x1, x2, x3, x4)
new_compare24(Char(x0), Char(x1))
new_lt10(x0, x1, app(ty_[], x2))
new_compare114(x0, x1, False)
new_ltEs15(GT, LT)
new_ltEs15(LT, GT)
new_ltEs15(GT, GT)
new_primMulNat0(Zero, Succ(x0))
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, ty_@0)
new_ltEs9(Just(x0), Just(x1), ty_Int)
new_lt11(x0, x1, ty_@0)
new_primPlusNat1(Zero, Zero)
new_not0
new_esEs5(Just(x0), Just(x1), ty_Ordering)
new_lt11(x0, x1, ty_Int)
new_ltEs9(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_lt20(x0, x1, ty_Int)
new_ltEs8(x0, x1)
new_compare14(x0, x1, False, x2, x3, x4)
new_lt11(x0, x1, app(ty_[], x2))
new_ltEs10(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_ltEs20(x0, x1, ty_@0)
new_lt11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_lt14(x0, x1)
new_lt11(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, ty_Integer)
new_compare112(x0, x1, False)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt10(x0, x1, app(ty_Ratio, x2))
new_ltEs15(LT, LT)
new_esEs24(x0, x1, ty_Double)
new_esEs9(Integer(x0), Integer(x1))
new_primEqNat0(Zero, Succ(x0))
new_esEs5(Just(x0), Just(x1), ty_Double)
new_compare110(x0, x1, True, x2)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs10(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs10(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_[], x3))
new_lt11(x0, x1, ty_Float)
new_compare111(x0, x1, True, x2, x3)
new_ltEs21(x0, x1, ty_Int)
new_lt13(x0, x1)
new_lt11(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(Just(x0), Nothing, x1)
new_esEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs10(@0, @0)
new_primCmpNat0(Zero, Succ(x0))
new_esEs12(:(x0, x1), [], x2)
new_not(GT)
new_ltEs20(x0, x1, app(ty_[], x2))
new_compare14(x0, x1, True, x2, x3, x4)
new_lt10(x0, x1, app(ty_Maybe, x2))
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs21(x0, x1, ty_@0)
new_esEs8(GT)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare17(x0, x1)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_lt11(x0, x1, ty_Integer)
new_compare8(Double(x0, x1), Double(x2, x3))
new_esEs7(Left(x0), Left(x1), ty_Integer, x2)
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Neg(Zero), Pos(Zero))
new_lt20(x0, x1, ty_Ordering)
new_compare23(x0, x1, True, x2, x3, x4)
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_lt10(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs10(Right(x0), Right(x1), x2, ty_Bool)
new_ltEs10(Right(x0), Right(x1), x2, ty_Integer)
new_ltEs16(x0, x1, x2)
new_compare16(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs5(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs7(Left(x0), Left(x1), ty_@0, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_Char)
new_ltEs10(Right(x0), Right(x1), x2, ty_Double)
new_esEs7(Left(x0), Left(x1), ty_Char, x2)
new_esEs27(x0, x1, ty_Float)
new_esEs27(x0, x1, app(ty_[], x2))
new_lt10(x0, x1, ty_Integer)
new_ltEs20(x0, x1, ty_Ordering)
new_ltEs10(Right(x0), Right(x1), x2, ty_Int)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs24(x0, x1, ty_@0)
new_ltEs10(Right(x0), Right(x1), x2, ty_@0)
new_esEs7(Right(x0), Right(x1), x2, ty_Int)
new_compare27(x0, x1, True, x2, x3)
new_esEs22(x0, x1, ty_Float)
new_ltEs4(x0, x1)
new_primEqInt(Neg(Zero), Neg(Zero))
new_ltEs19(x0, x1, ty_Double)
new_esEs23(x0, x1, ty_@0)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs7(Left(x0), Left(x1), ty_Int, x2)
new_esEs20(x0, x1, ty_Integer)
new_sr0(Integer(x0), Integer(x1))
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_compare26(x0, x1, True, x2, x3)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_ltEs18(x0, x1, ty_@0)
new_esEs5(Just(x0), Just(x1), ty_@0)
new_ltEs18(x0, x1, ty_Double)
new_ltEs20(x0, x1, ty_Char)
new_esEs11(x0, x1, ty_Float)
new_ltEs21(x0, x1, app(ty_[], x2))
new_compare112(x0, x1, True)
new_min10(x0, x1, False, x2, x3)
new_ltEs9(Just(x0), Just(x1), ty_Double)
new_ltEs9(Just(x0), Just(x1), app(ty_[], x2))
new_lt18(x0, x1, x2)
new_lt12(x0, x1)
new_esEs24(x0, x1, ty_Bool)
new_esEs20(x0, x1, ty_Int)
new_ltEs9(Just(x0), Just(x1), ty_Bool)
new_ltEs21(x0, x1, ty_Integer)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Ordering)
new_primPlusNat0(Zero, x0)
new_primPlusNat1(Succ(x0), Zero)
new_esEs14(Char(x0), Char(x1))
new_compare16(x0, x1, ty_Bool)
new_esEs23(x0, x1, ty_Float)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_compare16(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs21(x0, x1, ty_Double)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_ltEs21(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_@0)
new_compare26(x0, x1, False, x2, x3)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, ty_Bool)
new_esEs12(:(x0, x1), :(x2, x3), x4)
new_esEs26(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs22(x0, x1, ty_Bool)
new_primCmpNat0(Zero, Zero)
new_compare16(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_compare16(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_ltEs10(Right(x0), Right(x1), x2, ty_Char)
new_ltEs20(x0, x1, ty_Integer)
new_compare29(x0, x1, False)
new_lt10(x0, x1, ty_@0)
new_ltEs7(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs5(Just(x0), Just(x1), ty_Char)
new_compare28(x0, x1, True)
new_esEs25(x0, x1, ty_Float)
new_ltEs20(x0, x1, ty_Double)
new_esEs27(x0, x1, ty_Char)
new_compare16(x0, x1, app(ty_Ratio, x2))
new_lt7(x0, x1, x2, x3)
new_ltEs20(x0, x1, ty_Int)
new_lt5(x0, x1, x2)
new_esEs5(Just(x0), Just(x1), ty_Integer)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs5(Just(x0), Just(x1), app(ty_[], x2))
new_primCompAux0(x0, x1, x2, x3)
new_esEs13(LT, LT)
new_ltEs18(x0, x1, ty_Integer)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_Integer)
new_esEs5(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_compare9(@0, @0)
new_ltEs10(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs24(x0, x1, ty_Float)
new_compare13(Integer(x0), Integer(x1))
new_esEs11(x0, x1, ty_Int)
new_ltEs14(True, True)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs5(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs14(False, False)
new_compare16(x0, x1, ty_Float)
new_compare25(x0, x1, True, x2)
new_ltEs18(x0, x1, ty_Bool)
new_ltEs19(x0, x1, ty_@0)
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_esEs27(x0, x1, ty_@0)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_not(EQ)
new_esEs5(Just(x0), Just(x1), app(ty_Maybe, x2))
new_compare16(x0, x1, ty_Double)
new_primPlusNat1(Zero, Succ(x0))
new_esEs13(LT, EQ)
new_esEs13(EQ, LT)
new_ltEs9(Just(x0), Nothing, x1)
new_ltEs19(x0, x1, ty_Integer)
new_ltEs21(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_esEs25(x0, x1, ty_Double)
new_ltEs18(x0, x1, ty_Int)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_esEs23(x0, x1, ty_Char)
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(Just(x0), Just(x1), ty_Int)
new_esEs27(x0, x1, ty_Bool)
new_esEs11(x0, x1, ty_@0)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, app(ty_[], x2))
new_ltEs10(Left(x0), Left(x1), ty_Integer, x2)
new_esEs18(x0, x1)
new_compare16(x0, x1, ty_@0)
new_ltEs9(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs25(x0, x1, ty_Char)
new_lt19(x0, x1)
new_ltEs15(EQ, LT)
new_ltEs15(LT, EQ)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs10(Left(x0), Left(x1), ty_Int, x2)
new_sr(x0, x1)
new_esEs26(x0, x1, ty_Int)
new_ltEs10(Right(x0), Right(x1), x2, ty_Float)
new_compare16(x0, x1, ty_Integer)
new_lt20(x0, x1, ty_Integer)
new_lt8(x0, x1)
new_esEs23(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs15(EQ, EQ)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Ordering)
new_compare27(x0, x1, False, x2, x3)
new_primEqNat0(Succ(x0), Zero)
new_ltEs9(Just(x0), Just(x1), ty_Float)
new_esEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs9(Nothing, Just(x0), x1)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs5(Nothing, Nothing, x0)
new_lt17(x0, x1)
new_esEs23(x0, x1, ty_Ordering)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(Right(x0), Right(x1), x2, ty_Float)
new_ltEs21(x0, x1, ty_Char)
new_ltEs19(x0, x1, ty_Int)
new_esEs26(x0, x1, ty_Ordering)
new_lt10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs17(False, True)
new_esEs17(True, False)
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs23(x0, x1, ty_Double)
new_ltEs10(Left(x0), Left(x1), ty_Double, x2)
new_esEs5(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_ltEs10(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs11(x0, x1)
new_compare5([], :(x0, x1), x2)
new_esEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs17(True, True)
new_compare5(:(x0, x1), [], x2)
new_compare12(x0, x1, x2, x3)
new_esEs27(x0, x1, ty_Int)
new_min1(Right(x0), Right(x1), x2, x3)
new_compare16(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, ty_Ordering)
new_esEs27(x0, x1, ty_Integer)
new_primCmpNat0(Succ(x0), Succ(x1))
new_compare16(x0, x1, ty_Char)
new_ltEs13(x0, x1)
new_primMulInt(Neg(x0), Neg(x1))
new_not(LT)
new_esEs24(x0, x1, app(ty_[], x2))
new_lt10(x0, x1, ty_Bool)
new_primPlusNat0(Succ(x0), x1)
new_ltEs9(Just(x0), Just(x1), ty_Integer)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs: